Для определенной рабочей нагрузки чтения / записи я получаю 30 МБ / с из 4-дискового массива с использованием умножения портов esata. Когда я перемещаю один и тот же массив в четыре отдельных соединения sata, я получаю 90 МБ / с для той же рабочей нагрузки. Это ожидаемое влияние на производительность множителя? Если нет, как я могу сузить проблему между программным обеспечением, контроллером или корпусом?
Я получил те же самые результаты даже после того, как попробовал большое количество переменных за эти годы:
- Многие версии Linux (RHEL5, Fedora 9, 11, 13, 16) и все ядра, что влечет за собой.
- Два типа корпусов (обе модели с четырьмя дисками по 100 долларов), всего четыре корпуса.
- Два типа чипсетов SATA-контроллеров (Marvell 88SE91xx и Silicon Image 3132)
- Четыре контроллера SATA (около 30-60 долл. Pci-x1 интерфейсные карты и один PCI, все на основе FIS-коммутации).
- Три скорости SATA (1,5, 3,0 и 6,0 Гбит / с)
- Четыре типа жестких дисков (Samsung Spinpoint F1 1TB, WD Caviar Black 2TB, Seagate Barracuda XT 3TB).
- Три компьютера (Athlon 3 ГГц + 1 ГБ ОЗУ, когда я сделал первый массив e-sata, затем Core 2 Duo + 4 ГБ, теперь Core i5 750 + 8 ГБ).
Когда я делал свой первый корпус eSATA много лет назад, я предполагал, что низкая скорость связана с использованием карты PCI (33 МГц), незрелых драйверов SATA или, возможно, дисков SATA-1,5 Гбит / с 5400 об / мин. Но теперь с контроллером x1 6 Гбит / с, ядром 3.0 и 6 Гбит / с 7200 об / мин HDDS все еще ничего не изменилось. Я по-прежнему получаю те же 30 МБ / с для этой конкретной рабочей нагрузки, пока не перенесу их на отдельные соединения SATA.
Является ли это фундаментальным ограничением для всех реализаций умножения портов?
источник
Ответы:
Да. Ожидается плохая работа.
Протокол ATA никогда не предназначался для передачи данных более чем на один диск (фактически он был основан на шине ISA, расширяющей канал связи до накопителя). Интерфейс IDE обманул это ограничение, передав данные для устройств «Master» и «Slave». Однако у SATA нет аналогичного механизма, поскольку он предназначен только для одного устройства на кабельное соединение.
Умножители портов eSATA функционируют как цель ATA, которая может выбирать несколько физических носителей (поэтому одновременно можно адресовать только одно физическое устройство, и имеется небольшая задержка при переключении на другое устройство). Вы можете сравнить это со старыми оптическими библиотеками.
Это радикально отличается от SAS, который был построен с использованием встроенных расширителей и инициатора / целевой маршрутизации (SAS 2.0+ функционирует как коммутируемая сеть Ethernet). SAS также может объединять несколько линий в соединительные линии, обеспечивая одновременный доступ к нескольким устройствам через несколько соединительных линий.
Обновление: по-
видимому, есть более новые контроллеры, которые поддерживают FIS, что позволяет нескольким дискам быть «активными» одновременно. Это должно позволить производительность намного выше, чем описано выше. По-видимому, в настоящее время только один производитель делает эти чипы. Я все еще настоятельно рекомендую начинать с SATA в серверных средах. Если вам необходимо использовать диски SATA, рассмотрите возможность использования контроллеров и расширителей SAS.
источник
Вы уверены, что пробовали контроллер и умножитель портов, поддерживающий умножение портов FIS (Frame Information Structure) ?
AFAIK поддерживают только кремниевые контроллеры и множители изображений (SiI3726), но производительность аналогична SAS с той же скоростью (80-90% насыщения канала).
источник