Как стать автором
Обновить

Linux, mysql, IO schedulers

Время на прочтение2 мин
Количество просмотров981
Пару дней назад позвонил коллега. Сравнивал производительность mysql на соляре и центосе. Попросил провести сравнение на самосборной генте.
Собираю mysql, для тестов используется run-all-tests из каталога sql-bench дистриба мускуля. Делал все это на домашней машине, где по умолчанию используется шедулер CFQ. Машина — AMD Athlon(tm) 64 X2 Dual Core Processor 4800+, работают оба ядра (хотя для тестов почему-то использовалось только одно), 2 гига памяти. Винт — SATA1, AHCI. Mysql 5.0.54.
В качестве результатов тестов использовалось суммарное время их проведения. На генте оно составило 1600 секунд, на соляре — 1300, на центосе — сильно за 2000.
Сегодня решил продлить эксперимент и проверить поведение мускуля на разных IO schedulers. Результаты несколько озадачили. Итак,
Anticipatory — 1795 сек.
Deadline — 1867 сек.
CFQ — 1523 сек.
То есть совсем не то, чего можно было ожидать. Согласно хелпу при конфигурировании ядра:
  • The anticipatory I/O scheduler is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads.
  • The deadline I/O scheduler is simple and compact, and is often as good as the anticipatory I/O scheduler, and in some database workloads, better. In the case of a single process performing I/O to a disk at any one time, its behaviour is almost identical to the anticipatory I/O scheduler and so is a good choice.
  • The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems.

То есть наилучшая производительность ожидалась на deadline, на самом деле он оказался наиболее медленным. Anticipatory показал средние результаты, а вот CFQ (десктопный!!!) опередил конкурентов почти на пять минут. Хотя тесты производились на работающей десктопной системе, но практически никакой нагрузки на винт в это время не было.
Возможно, имеет смысле поиграть с другими версиями мускуля, но я задумался о переводе своих продакшн серверов mysql на другой шедулер.
Теги:
Хабы:
+10
Комментарии2

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн