И еще об оптимизации

Я не перестаю удивляться, как много можно выжать из дохлого сервера от безысходности. После того, как побороли глюки с нехваткой mysql-соединений (из-за почты), все-таки остались ситуации, когда загрузка mysql подскакивает до безумных значений.

Сегодня на меня снизошло озарение, что долгие запросы можно оттрассировать. Ну, дурное дело нехитрое. Сразу стало видно, что дело во встроенном форумном поиске. То есть, при каждом поиске фактически жестко перетряхивались все сообщения целиком. Есть второй вариант - когда на некоторые поля таблиц делается fulltext index. Тогда поиск пашет шустро. Правда, есть нюанс - таблицы innodb таких индексов не поддерживают. А у меня вся база давно на innodb, ибо там все пучком с сохранностью данных.

Ну, стал чесать репу, решил часть нужных таблиц перегнать в myisam, а остальные оставить в innodb. В myisam кроме fulltext других особых преимуществ нет - блокировки хреновые, целостность при внезапном умирании демона или сервера не гарантируется, менеджер мамяти дебильный. Но, как говорится, на безрыбье и рак соловей.

В общем, не знаю как все остальное, а поиск теперь стал весьма шустрым. Остальное будет видно завтра, когда нагрузка дневная пойдет. По крайней мере, из-за поиска серьезных подвисаний на минуту теперь быть не должно.

PS. Пора и правда начинать читать лекции по оптимизации софта 😃 .

  • 689