Низкая производительность SQL на HP ProLiant ML310e Gen8 v2 с raid10
Недавно я приобрел сервер HP ProLiant ML310e Gen8 v2 с 8 ГБ ОЗУ и 4 жесткими дисками HPL 1 ГБ, 6 ГБ, 7,2 об. / Мин. SATA (3,5 дюйма) без горячей замены.
Для меня было неожиданностью, что HP не предоставила драйверы Debian для raid-контроллера, и мне пришлось пойти на программный raid. Я установил Debian с собственным программным обеспечением raid и raid level 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-диском.
- рабочий стол завершен за 45 секунд
- сервер за 2 часа, 46 минут и 18 секунд.
Разница совершенно безумная. Любой совет?
Производительность серверного рейда мне кажется хорошей, поскольку диски не самого высокого качества.
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
2 ответа
У вас нет кэширования записи на вашем контроллере RAID, потому что вы обошли аппаратную функциональность RAID. Это твоя главная проблема...
Люди покупают эти версии HP Gen8 "e" вместо версий "p". Серверы "e" имеют ограниченную поддержку операционной системы и оснащены RAID-контроллерами HP Dynamic Smart Array, которые поставляются только с двоичными драйверами... Если вы выходите за пределы поддерживаемой ОС с этими контроллерами, единственным выходом для вас является программный RAID или покупка подходящего RAID-контроллер PCIe.
Ваша производительность будет ограничена более медленными дисками со скоростью 7200 об / мин, но ситуация с аппаратным RAID окажет большее влияние на ваш масштаб, чем переключение дисков на корпоративный SAS.
Также см. Раздел " Установка Oracle Linux 6.4 на сервере HP ProLiant DL380e Gen8".
Разница совершенно безумная.
Нет, это нормально, если у вас большие базы данных. увидеть...
120G SSD диск.
Это около 60 000 IOPS
4 л.с. 1 ТБ 6G 7,2 тыс. Об / мин SATA
Это примерно - 300 IOPS. Если все это только для чтения и контроллер действительно хорош, может быть, немного больше.
По сути, ноутбук на основе SSD является гораздо лучшим сервером баз данных, чем дрянная разметка дисков, созданная для размера, а не для скорости. И база данных ЛЮБОВЬ скорости диска.
Вы никогда не должны были покупать эту машину, чтобы использовать ее в качестве сервера базы данных. Просто так.
Сейчас:
Производительность серверного рейда мне кажется хорошей, поскольку диски не самого высокого качества.
Хахаха. Да уж. Измерение линейной скорости ооочень бесполезно. Как насчет того, чтобы сделать правильное измерение IOPS и сравнить это? Да, диски подходят для однопоточного доступа к линейным данным. Плохие новости: это не то, что происходит на сервере и действительно не то, что происходит в системе баз данных.