У меня есть два сервера 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: 0Server2:
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 secsServer2:
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' в разделах данных для сравнения / сравнения.