Redmine на MySQL з RocksDB швидше, ніж з InnoDB, від 20% до 3 разів

Ми зібрали форк MySQL від Facebook з движком RocksDB замість InnoDB і потестували його з реальними додатками: Drupal, Wordpress, Redmine.
Це офігенна штука. При низькому навантаженні виграш маленький, десятки відсотків. Зате при високому навантаженні виграш в рази. Коли RocksDB додадуть в стабільний реліз в MariaDB, я впевнений, що протягом півроку половина народу перейде з InnoDB на RocksDB. Особливо, невеликі сайти на cloud/VPS та виділених серверах.
Що такого хорошого в MyRocks? Лінійна запис замість випадкової і зниження числа дискових операцій взагалі. Тобто транзакції бази даних породжують менше дискових операцій, менше займають чергу диска, і пишуться набагато швидше.
Я зібрав у статтю результати тестування реальних сценаріїв Redmine, додав аналіз результатів і висновки. Redmine на MySQL з RocksDB виявився швидше, ніж з InnoDB — від 20% при мінімальному навантаженні до 3 разів при максимальній. Пізніше підготую матеріали по Drupal та іншим PHP-додатків.
Ви зможете перевірити роботу MyRocks і самостійно — в кінці статті є посилання на інсталятори і віртуальні машини з LAMP/LEMP/Ruby стеками, зібрані з MyRocks замість MySQL.


Читати далі →