Какое-то время назад ни с того ни с сего начал тормозить форум yiiframework.ru. Перерыл весь сервер: обновил PHP, проверил APC, nginx подёргал, fpm… не помогало.
Сегодня сделал ещё один заход и нашёл причину посмотрев, наконец, в slow query log MySQL. В таблице styles_template_data
, в которой хранятся отредактированные из админки темплейты, каким-то непостижимым образом оказалось 60K записей. Табличка эта дёргается при каждом реквесте. Ну а так как индекса на малое количество записей (их там максимум должно быть 30—40) логично не предусмотрено, выборка получается очень тяжёлая.
Погуглил. Нашёл, что на форумах phpbb народ с проблемой один или два раза встречался и… не рекомендуют ни под каким видом редактировать темплейты из админки. Вот вам пистолет, но не стреляйте, дуло запаяно и его разорвёт…