Как уменьшить количество запросов cache_imagesizes в Typo3 4.5

У нас есть старое приложение Typo3 4.5, работающее очень медленно на любом сервере. Используя blackfire.io и общую отладку, мы пытаемся выяснить узкое место и можем ли мы сократить время обработки.

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

Одним из основных узких мест является большое количество SQL-запросов, выполняемых Typo3. Особенно утомительным является следующий запрос, который выполняется 247 раз (!) на стартовой странице:

SELECT ... FROM cache_imagesizes WHERE md5filename = ? limit ?

До сих пор я не смог найти какой-либо ресурс о том, как облегчить это или возможно ли это вообще. Я думаю, что расширение tt_news просто крайне неэффективно.

Любой вклад приветствуется.


person fritzmg    schedule 08.04.2016    source источник


Ответы (1)


Попробуйте установить index на md5filename. Так как это хеш-столбец, индекс должен содержать не более пяти символов.

247 запросов означает, что у вас есть 247 изображений, которые учитываются при рендеринге главной страницы. Если вы не отображаете столько картинок, попробуйте уменьшить данные с учетом, установив лимиты в плагинах и в рендеринге.

person pgampe    schedule 09.04.2016
comment
md5filename уже имеет индекс, хотя я еще не проверял его длину. Typo3 уже создает таблицу таким образом. Также по поводу запросов: tt_news кажется крайне неэффективным плагином. Да, он обрабатывает 247 изображений или, скорее, новостных записей, однако рассматриваемая страница даже не отображает столько записей. Всегда кажется, что загружаются все записи из базы данных, независимо от настроенных ограничений. - person fritzmg; 11.04.2016
comment
Это проблема вашей tt_news конфигурации. tt_news отлично работает на страницах с более чем 10000 новостных записей. - person pgampe; 11.04.2016