RAID-массив HP P410 + твердотельные накопители Samsung 830 + Debian 6.0 - какую производительность ожидать?
Я арендую два выделенных сервера у хостинговой компании. Вот спецификации:
server1:
HP ProLiant DL165 G7
2x AMD Opteron 6164 HE 12-Core
40 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 256 GB SSD
server2:
HP ProLiant DL120 G7
Intel Xeon E3-1270
16 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 128 GB SSD
Настройка одинакова на обоих серверах:
- Debian 6.0.
- Нет своп.
- Файловые системы используют ext3 без специальных параметров монтирования (только rw), и я вполне уверен, что разделы правильно выровнены.
- Используя планировщик noop.
- RAID 1.
- RAID-контроллер имеет BBU.
- Кэш записи диска был включен в контроллерах RAID.
- Коэффициент чтения / записи кэша составляет 25% / 75% на обоих контроллерах RAID.
В настоящее время я пытаюсь выяснить, как получить максимальную отдачу от дисков на этих серверах, начиная с последовательного чтения / записи. Вот скорости, которые я вижу в данный момент:
Writes:
server1:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.05089 s, 213 MB/s
server2:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.09768 s, 262 MB/s
Reads:
server1:~# echo 3 > /proc/sys/vm/drop_caches
server1:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.14051 s, 259 MB/s
server2:~# echo 3 > /proc/sys/vm/drop_caches
server2:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.33901 s, 322 MB/s
Прежде всего, кто-нибудь может объяснить большую разницу между этими серверами?
Во-вторых, стоит ли ожидать большего? Когда я читал о твердотельном накопителе Samsung 830, я видел скорость записи более 300 МБ / с и скорость чтения более 500 МБ / с, используя тот же метод сравнения (dd). Но тогда не задействован RAID-контроллер. Это штраф RAID так высоко или это проблема конфигурации?
ОБНОВИТЬ:
Я провел несколько тестов, используя iozone вместо dd, и результаты, которые я получаю, имеют гораздо больше смысла. Нет большой разницы между этими двумя серверами (server1 теперь немного быстрее), и я приближаюсь к скоростям, оцениваемым на этих дисках. Так что, думаю, я не должен был использовать дд. Урок выучен!
Я буду использовать noop с nr_requests и read_ahead_kb, установленными по умолчанию (128 и 128) для начала. Установка read_ahead_kb выше, похоже, слишком сильно снижает производительность случайного чтения на сервере2. Надеюсь, у меня будет время вернуться к этому, как только я буду использовать серверы в работе некоторое время, когда у меня будет более четкое представление о моделях использования.
3 ответа
Здесь есть что рассказать.
Если вы хотите большей производительности (от наибольшего к наименьшему воздействию):
- Добавьте еще одну пару дисков и расширьте до RAID 1+0. Это обеспечит наибольшую пользу.
- Настройте свою файловую систему (
noatime
режим журналирования, удаление барьеров записи и т. д.) и / или переход к высокопроизводительной файловой системе, такой как XFS или даже ext4. - Вернитесь к крайнему сроку лифта. Он будет работать лучше при реалистичных рабочих нагрузках, чем ваш планировщик noop.
- Обновите прошивку ваших контроллеров HP Smart Array P410 (и сервера тоже)
- Рассмотрим некоторые более продвинутые приемы настройки.
- Улучшите свою технику бенчмаркинга.
dd
не является подходящим способом измерения производительности ввода-вывода. Попробуйте специальные приложения, такие как iozone, bonnie ++ и т. Д., И настройте их в соответствии с желаемыми шаблонами чтения / записи. - Для чисто последовательных операций чтения / записи обычные диски SAS тоже неплохой выбор...
Что касается совместимости, я часто использую диски не HP с RAID-контроллерами и серверами HP. Иногда что-то не работает, но если ваш SSD подключен, сообщает правильную температуру и не отображает никаких ошибок в программе HP Array Configuration Utility, все в порядке.
Вы используете Агенты управления HP на сервере, не так ли?
Редактировать:
Я запустил то же самое на одной из моих систем, используя один и тот же контроллер с четырьмя SATA SSD, настроенную XFS, лифт дедлайна и т. Д.
[root@Kitteh /data/tmp]# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.1985 s, 336 MB/s
[root@Kitteh /data/tmp]# echo 3 > /proc/sys/vm/drop_caches
[root@Kitteh /data/tmp]# ll
total 1048576
-rw-r--r-- 1 root root 1073741824 Sep 24 14:01 tempfile
[root@Kitteh /data/tmp]# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.60432 s, 669 MB/s
Используя диски не HP с контроллерами HP SmartArray, не следует ожидать какой-либо конкретной производительности или даже того, что она будет работать. HP совершенно ясно дала понять, что если их контроллеры SA работают с дисками других производителей, это совершенно непреднамеренно и не поддерживается. Если вы хотите добиться хорошей производительности от этих дисков, приобретите HBA, который их поддерживает (LSI и Adaptec, которые на самом деле делают контроллеры SA HP, как правило, являются отличным выбором).
Во-первых, Adaptec не производит Smartarray, но в некоторых случаях HP использует чипсет SCSI от adaptec в своих Smararrays.
Во-вторых, прочитайте эту информацию, содержащую информацию о настройке Smartarray с помощью SSD.