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