Для определенной рабочей нагрузки чтения / записи я получаю 30 МБ / с из 4-дискового массива с использованием умножения портов esata. Когда я перемещаю один и тот же массив на четыре отдельных соединения sata, я получаю 90 МБ / с для той же рабочей нагрузки. Это ожидаемое влияние множителя на производительность? Если нет, как мне сузить проблему между программным обеспечением, контроллером или корпусом?
Я получил точно такие же результаты даже после нескольких лет экспериментов с большим количеством переменных:
Когда я много лет назад делал свой первый корпус eSATA, я предполагал, что низкая скорость связана с использованием карты PCI (33 МГц), незрелых драйверов SATA или, возможно, дисков SATA-1,5 Гбит / с со скоростью 5400 об / мин. Но теперь, с контроллером x1 6 Гбит / с, ядром 3.0 и HDDS 6 Гбит / с 7200 об / мин, по-прежнему ничего не изменилось. Я по-прежнему получаю те же 30 МБ / с для этой конкретной рабочей нагрузки, пока не перенесу их на отдельные подключения SATA.
Является ли это фундаментальным ограничением всех реализаций умножения портов?
Да. Ожидается плохая производительность.
Протокол ATA никогда не предназначался для передачи данных более чем на один диск (на самом деле он был основан на шине ISA, расширяющей канал связи до накопителя). Интерфейс IDE обошел это ограничение, передав данные для «ведущего» и «ведомого» устройств. Однако у SATA нет эквивалентного механизма, поскольку он был предназначен только для одного устройства на кабельное соединение.
Множители портов eSATA функционируют как цель ATA, которая может выбирать несколько физических носителей (поэтому одновременно можно адресовать только одно физическое устройство, и при переключении на другое устройство возникает небольшая задержка). Вы можете сравнить это со старыми оптическими библиотеками.
Это радикально отличается от SAS, который был построен с использованием расширителей и встроенной маршрутизации инициатора / цели (SAS 2.0+ функционирует как коммутируемая сеть Ethernet). SAS также может объединять несколько линий в соединительные линии, обеспечивая одновременный доступ к нескольким устройствам через несколько соединительных линий.
Обновить:
Очевидно, есть более новые контроллеры, которые поддерживают FIS, что позволяет нескольким дискам быть «активными» одновременно. Это должно обеспечить производительность намного выше, чем описано выше. Судя по всему, в настоящее время эти чипы производит только один производитель. Я по-прежнему настоятельно рекомендую начинать с SATA в серверных средах. Если вам необходимо использовать диски SATA, подумайте об использовании контроллеров и расширителей SAS.
Вы уверены, что пробовали контроллер и поддержка множителя портов FIS (Информационная структура кадра) порт множитель?
AFAIK только контроллеры и умножители Silicon Image (SiI3726) поддерживают это, но производительность аналогична SAS той же скорости (80-90% насыщения канала).