Низкая производительность 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 и сравнить это? Да, диски подходят для однопоточного доступа к линейным данным. Плохие новости: это не то, что происходит на сервере и действительно не то, что происходит в системе баз данных.

Другие вопросы по тегам