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

Ищем узкое место в сервере MySQL

У меня есть два сервера Ubuntu с очень похожей, если не идентичной, конфигурацией: оба имеют 16 ядер (4 Xeon E5540), 16 ГБ ОЗУ, контроллеры HP Smart Array P212 с 2 жесткими дисками в RAID1. Используемый планировщик ввода / вывода - крайний срок. Оба используют одни и те же версии MySQL (5.1.26, позже обновленные до 5.1.47 / Percona Server 10.2). Базы данных похожи, но не совсем одинаковы. Конфигурация MySQL также очень похожа. Но производительность ни с чем не сравнима:

Сервер1:

mysql> alter table documents add column test int(10) unsigned not null default '0';
Query OK, 2496892 rows affected (7 min 18.41 sec)
Records: 2496892  Duplicates: 0  Warnings: 0
Server2:
mysql> alter table documents add column test int(10) unsigned not null default '0';
Query OK, 2497414 rows affected (1 min 59.15 sec)
Records: 2497414  Duplicates: 0  Warnings: 0

Server2 в 3,7 раза быстрее.

Тест MySQL (sql-bench) только подтверждает, что Server2 намного быстрее:

Сервер1:

alter-table: Total time:  7 wallclock secs 
ATIS: Total time:  3 wallclock secs 
big-tables: Total time:  0 wallclock secs
connect: Total time:  1 wallclock secs 
create: Total time:  7 wallclock secs 
insert: Total time:  3 wallclock secs
select: Total time:  2 wallclock secs 
wisconsin: Total time:  4 wallclock secs 
Server2:
alter-table: Total time:  1 wallclock secs 
ATIS: Total time:  1 wallclock secs 
big-tables: Total time:  0 wallclock secs 
connect: Total time:  0 wallclock secs 
create: Total time:  0 wallclock secs 
insert: Total time:  2 wallclock secs 
select: Total time:  2 wallclock secs
wisconsin: Total time:  2 wallclock secs 

Единственная разница между серверами - это версия ОС. Server1 - это Ubuntu 9.10 с ядром 2.6.31-20-server # 58-Ubuntu SMP, а Server2 - это Ubuntu 10.05 с 2.6.32-22-server # 33-Ubuntu SMP.

У меня были серьезные подозрения по поводу ввода-вывода на Server1. Так, iostat -dkx дает значительно более высокие значения% использования на Server1, около 25-30% против 1% на Server2.

Я запустил тесты ввода-вывода (iozone3), но, к моему удивлению, Server1 показал немного лучшие результаты. Тест RAM с mbw также был в пользу Server1.

Что мне тестировать дальше? В чем может быть проблема?

Спасибо.

Я не сторонник Ubuntu, но 10-секундный поиск показывает, что 9 по умолчанию использует ext3, а 10 - ext4. Разместите вывод 'tune2fs -l' в разделах данных для сравнения / сравнения.