Назад | Перейти на главную страницу

Низкая производительность SQL на HP ProLiant ML310e Gen8 v2 с raid10

Недавно я купил сервер 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