Непонятно. Авиабаза последние пару-тройку недель тормозила. Ну, это понятно — Украина, все дела, онлайн до 350 человек одновременно при старой норме 200, количество хитов 150k в сутки вместо прежних 100k (это не считая десятков обращений к мелочи на показ каждой страницы) и т.п. И поверх всего многие десятки потоков активных поисковых ботов всех мастей.
top'ы/iotop'ы показывали, что основная нагрузка — mysql. Его я понемногу и допиливал/оптимизировал. Однако, хотя прогресс по разгрузке явно был, система всё равно тормозила. А сегодня ночью, проводя глубокое профилирование и переписывание генерации превьюшек (совсем для другого проекта) обнаружил в движке забавный баг — во множестве случаев данные по превьюшке не сохранялись в БД и поэтому при каждом запросе данных параметры читались с диска, а нередко превьюшки перегенерировались даже при наличии их на диске.
Исправил ошибки — и опаньки. Волшебны образом сайт залетал. Не знаю, как к вечеру будет, но сейчас онлайн 250 и всё работает шустро.
Что ещё непонятно — по загрузке машины по top/iotop/etc всё выглядит примерно по-прежнему. iowait не упал, в отчётах munin никаких «провалов» по загрузке. Всё выглядит примерно одинаково как при прежних тормозах, так и сейчас, без тормозов. Удивительное, блин, дело. Походу, кроме глубокого профилирования фиг поймёшь, что на самом деле тормозит...
// Транслировано с juick.com