Недавно я купил сервер HP ProLiant ML310e Gen8 v2 с 8 ГБ оперативной памяти и 4 жестких диска HP 1 ТБ 6 ГБ 7,2 тыс. Об / мин SATA (3,5 дюйма) без возможности горячей замены.
Для меня было неожиданностью, что HP не предоставила драйверы debian для raid-контроллера, и мне пришлось пойти с программным raid. Я установил Debian с его собственным программным рейдом и рейдом 10 уровня.
После установки я испытываю огромную потерю производительности, и, похоже, мне удалось отследить это до операций MySQL.
Сервер используется в основном как сервер Apache2 с базой данных MySQL.
Вот простой скрипт, который я запустил для измерения времени работы SQL с сервером и моим настольным ПК.
$sql = "SELECT id FROM c_event";
$events = $db->getall($sql);
foreach($events as $item)
$db->query("INSERT table1 set id = {$item['id']}");
foreach($events as $item)
$db->query("DELETE FROM table1 WHERE id = {$item['id']}");
Я сравнил результаты с моим настольным ПК с Intel Q6600, 4 ГБ оперативной памяти и 120 ГБ SSD-диска.
Разница совершенно безумная. Какой-нибудь совет?
Производительность серверных рейдов мне кажется нормальной, так как диски не самого лучшего качества.
hdparm -t /dev/md1
/dev/md1:
Timing buffered disk reads: 1024 MB in 3.00 seconds = 341.04 MB/sec
РЕДАКТИРОВАТЬ:
IOSTAT: на проблемном сервере во время теста:
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 43.00 0.00 256.00 0 512
sdb 43.00 0.00 256.00 0 512
sdc 54.00 0.00 262.00 0 524
sdd 54.50 0.00 266.00 0 532
md0 0.00 0.00 0.00 0 0
md1 129.00 0.00 520.00 0 1040
И на сервере с 15k SAS дисками
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 4819.50 0.00 24240.00 0 48480
Разница совершенно безумная.
Нет, это нормально, если у вас большие базы данных. видеть...
SSD-диск 120 ГБ.
Это около 60 000 операций ввода-вывода в секунду.
4 HP, 1 ТБ, 6 ГБ, 7,2 тыс. Об / мин, SATA
То есть примерно - хм - 300 IOPS. Если все это только для чтения и контроллер действительно хорош, может быть, немного больше.
По сути, ноутбук на базе SSD - это гораздо лучший сервер базы данных, чем дрянная компоновка дисков, рассчитанная на размер, а не на скорость. И база данных LOVE disk speed.
Вам никогда не следовало покупать эту машину, чтобы использовать ее в качестве сервера базы данных. Вот так просто.
Сейчас:
Производительность серверных рейдов мне кажется нормальной, так как диски не самого лучшего качества.
Хахаха. Да. Измерять линейную скорость оооочень бесполезно. Как насчет того, чтобы вы правильно измерили IOPS и сравните это. Да, диски подходят для однопоточного линейного доступа к данным. ПЛОХИЕ НОВОСТИ: это не то, что происходит на сервере и ДЕЙСТВИТЕЛЬНО не то, что происходит в системе баз данных.
У вас нет кэширования записи на вашем RAID-контроллере, потому что вы обошли аппаратную функциональность RAID. Это твоя главная проблема ...
Люди покупают эти HP Gen8 «е» версии вместо «р». Серверы "е" имеют ограниченную поддержку операционной системы и функции RAID-контроллеры HP Dynamic Smart Array, которые поставляются только с двоичными драйверами ... Если вы выходите за рамки поддерживаемой ОС с этими контроллерами, ваш единственный выход - программный RAID или покупка подходящего контроллера PCIe RAID.
Ваша производительность будет ограничена более медленными дисками 7200 об / мин, но ситуация с аппаратным RAID будет иметь большее влияние. в вашем масштабе чем замена дисков на корпоративный SAS.
Также см. Разглагольствование на Установите Oracle Linux 6.4 на сервер HP ProLiant DL380e Gen8