Тестирование SAS и SATA

SAS, SATA, кеш контроллера и производительность


 

К тестированию производительности дисковой подсистемы нас подтолкнула двухчасовая установка виртуальной машины FreeBSD 8.1 под Vmware ESXi 4.1 на, современных серверах HP Proliant DL160 G6 с SATA дисками, в то время, как без VMware эта же процедура занимает порядка 15-20 минут и примерно аналогичное время тоже под VMware но на сервере с RAID контроллером, имеющим кэш. Поскольку мы не хотели полагаться на волю случая, мы решили тестировать на разных конфигурациях и с разными дисками.

В качестве подопытных кроликов фигурировала FreeBSD 8.1 версий под платформы AMD64 и i386, но поскольку различия результатов находилось в пределах погрешности, будут приведены результаты FreeBSD 8.1 AMD64. Линейная производительность дисков прекрасно известна, результаты можно без труда найти в Сети. Нас же сейчас интересует именно производительность дисковой подсистемы в условиях виртуализации. Для простоты будем просто писать в файл нули командой:

dd if=/dev/zero of=test bs=1M count=100

или

dd if=/dev/zero of=test bs=1M count=1000

ну или

dd if=/dev/zero of=test bs=1M count=10000


Командой dd мы пишем нули (/dev/zero) в файл test блоками размером 1Mb и количеством от 100 до 1000. То есть от 100 Мб до 1 Гб или 10 Гб. Чтобы меня не обвинили в подлоге вывода команды dd, признаюсь сам: я сам руками расставил апострофы в поле скорости для облегчения восприятия.

Итак, начнем тест с варианта RAID 5 из 5 SAS дисков с контроллером, оснащенным 256Mb кэша.

104857600 bytes transferred in 0.372477 secs (281’514’434 bytes/sec)

Очевидно, что данные были заброшены в кэш и целиком там поместились. Запись будет произведена «как-нибудь потом, при случае», однако пользователь продолжает работу с данными, и это уже «не его печаль».

А вот с гигабайтом этот фокус уже не пройдет. Гиг в кэш не влезает:

1048576000 bytes transferred in 6.246920 secs (167’854’882 bytes/sec)

Ну и для очистки совести (а вдруг в оперативке где...) 10 Гб:

10485760000 bytes transferred in 70.108128 secs (149’565’540 bytes/sec)

Скорость упала, но остается весьма и весьма высокой. Поднять ее, видимо, можно было бы заменой RAID5 на RAID10, но с кэшем. Это понятно. Мы же усложним задачу.

Возьмем систему с SAS дисками в RAID10, но построенную на контроллере без кеша (ZM). Пишем один гигабайт:

1048576000 bytes transferred in 46.932269 secs (22’342’325 bytes/sec)

???

Так. Пишем 10 гиг.

10485760000 bytes transferred in 445.471986 secs (23’538’540 bytes/sec)

Очевидно это и есть искомый скоростной предел. Ок, пишем 100 Мб:

104857600 bytes transferred in 2.255507 secs (46’489’592 bytes/sec)

Видимо используются системные ресурсы кэширования. Идем дальше. Проверим SATA. 
Пока еще RAID10:

1048576000 bytes transferred in 92.511495 secs (11’334’548 bytes/sec)

Однако. Запускать на запись 10 гб даже желания не возникает, зато возникает желание посмотреть что же будет на обычном «зеркале», без RAID 10, просто RAID 1:

1048576000 bytes transferred in 117.557897 secs (8’919’656 bytes/sec)

Мда. Без комментариев. К вышесказанному могу добавить, что результаты не претендуют на истину в последней инстанции. Получались разные цифры, но эти цифры ярко отражают реальное положение дел в работе FreeBSD под Vmware с использованием разных дисков. Могу лишь добавить, что зачастую на RAID 1 SATA я получал реальную скорость в районе 6,5 mb/s, что, разумеется, неприемлемо для нормальной эксплуатации сервера. В качестве, например, файлового сервера. Зачем нам файловый сервер со скоростью записи как у флэшки, еще и не самой быстрой?.. Безусловно, основная вина за данный "epic fail" лежит на слабой оптимизации гипервизора VMware ESXi 4.1 и его драйверов для работы FreeBSD. 
Без Vmware на тех же самых машинах имеем:

SATA RAID10(ZM)

1048576000 bytes transferred in 15.300323 secs (68’532’932 bytes/sec)

На этом же самом сервере с нативной системой FreeBSD 8.1 AMD64 на RAID1 SATA я получил порядка 60Mb/s. Порядок цифр ясен. 
SAS RAID10 (ZM)

1048576000 bytes transferred in 6.838939 secs (153’324’369 bytes/sec)

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

А мораль сей басни такова. 
То, что мы наблюдали – этакая «модель сферического коня в вакууме». То есть работа в идеальных условиях. Системы были свежеустановлены, без нагрузки. На практике же все будет намного хуже. Не экономьте в сервере на приличном контроллере и памяти для него – сэкономите нервы и себе и пользователям. Работа типичного сервера подразумевает постоянное оперирование файлами небольшого объема. И вот здесь как раз наличие кэша в 256 или 512 Мб у контроллера сложно переоценить. Сюда прекрасно поместятся все ваши типичные документы, таблицы, картинки итд. Ну и наконец, оставьте SATA для домашнего использования. Использование в коллективной работе дисков с малой пропускной способностью, микроскопическим кэшем и малым временем наработки на отказ на выходе обернется снижением производительности коллектива в целом. А для админа – мучительная установка самого сервера, а затем постоянные жалобы на производительность сервера со стороны пользователей. Так как разница в реальной работе будет на порядки! Минимум на один. То есть в 10 раз. А в некоторых случаях (групповая работа с многочисленными мелкими файлами) и на 2 порядка. То есть в 100 раз. Просадка производительности SATA на контроллере без кэша, по сравнению с SAS на контроллере без кэша велика. По сравнению с SAS с кэшем - чудовищна. 
Оптимальный выбор – это полноценный контроллер (например P212 или P410) с памятью (хотя бы 256 Mb, а лучше 512 Mb с BBWC) и SAS диски. 
При съемках этих экспериментов ни одного кролика не пострадало. Кроликами выступали: HP Proliant DL160 G6 Intel Xeon Quadro Core E5504, 4Gb RAM, P410 (ZM), HDD SATA 1Tb, HDD SAS 300Gb. В качестве недостижимого эталона выступал аналогичный сервер с кэшем 256Mb и 5-ю дисками 146Gb в RAID5. 

 

3х фазные ИБП Tripp Lite

 

Получить дополнительную информацию. Заказать проект. Получить спеццены (заполните пожалуйста все поля формы)


Контактное лицо
Контактный телефон
Название организации
Адрес электронной почты
Ваш вопрос
Контрольное выражение
10 - 8 = ??

Тристан Системная интеграция
Серверы, системы хранения данных, беспребойное питание, сетевое оборудование
г. Москва, 111024, Россия, шоссе Энтузиастов, д. 21, офис 413
Телефон: + 7 (495) 730-63-00, 730-61-00
https://tristan.ru

© ООО "Тристан", 2003 - 2024.
Поставка серверного и сетевого оборудования, систем хранения,
систем бесперебойного питания, программного обеспечения