Назад | Перейти на главную страницу

Проблемы производительности BroadCom MegaRAID SAS 9361-24i

У меня есть груды дисков Samsung mSATA емкостью 1 ТБ, которые я пытаюсь использовать для хранения на серверах. Я купил 24 - StarTech 25SAT22MSAT адаптеров и снабдил их 2 дисками mSATA каждый. Затем я включил функцию RAID0 на каждом адаптере / носителе.

Затем я установил все 24 адаптера в SuperMicro SC216BAC-R920LPB шасси и подключил 6 каналов SAS от объединительной платы SAS-216A к BroadCom MegaRAID SAS 9361-24i открытка.

Карта MegaRAID 9361-24i имеет 24 независимых канала SAS / SATA и интерфейс PCIe Gen3 x8. Я ожидал, что с помощью этой настройки смогу достичь скорости чтения 4-5 ГБ / с. Однако самая высокая скорость чтения, которую я могу получить, составляет ~ 2,1 ГБ / с.

Я измерял производительность с помощью простой (однопоточной) операции с синхронизацией по времени:

$ sudo bash -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
$ time cat data_20GB.bin > /dev/null

real    0m9.780s
user    0m0.165s
sys     0m5.969s

а также с помощью (многопоточного) приложения, которое я намеревался запустить на этой машине. Оба подхода показывают одинаковую производительность.

Одним из первых, что я сделал, было измерение производительности одного адаптера / носителя:

$ sudo bash -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
$ time cat data_20GB.bin > /dev/null

real    0m38.639s
user    0m0.309s
sys     0m10.142s

Мой простой тест показывает, что производительность однопоточного чтения для каждого адаптера составляет ~ 530 МБ / с. Если я округлю вниз и скажу, что 500 МБ / с x 24 = ~ 12 ГБ / с. Я считаю, что эта установка должна легко обеспечить насыщение канала PCIe Gen 3 x8 (8 ГТ / с).

Сервер SuperMicro работает под управлением Ubuntu 16.04, а его загрузочные диски отделены от RAID-массива. Я обновил и драйвер Linux, и прошивку до последних версий. Я также проверил, что карта RAID подключена с ожидаемой скоростью Gen 3 x8.

Шаблон доступа к данным для предполагаемого приложения - это в основном большие последовательные чтения.

Вот как я сначала настроил массив RAID:

storcli64 /c0 add vd type=raid5 name=storage drives=252:0-23 pdperarray=24 pdcache=on cached wb ra strip=256

Эта конфигурация дает производительность чтения:

Вот некоторые из других вещей, которые я пробовал с тех пор:

Я в полном тупике. Кто-нибудь знает, почему производительность чтения аппаратного RAID достигает ~ 2 ГБ / с? Любые предложения приветствуются.

Обновить

Я установил карту RAID в режим JBOD, чтобы каждый из 24 дисков отображался в ОС как отдельное блочное устройство. Затем я создал программный (mdadm) RAID5 и повторил измерения производительности:

Это тот уровень производительности, которого я ожидал от аппаратного RAID. Возможно, мне стоило сэкономить 500 долларов и вместо этого просто купить эквивалентную карту SAS HBA.