Фев 8

Smarty-кеш или сайт тормозит

Категория: Программирование

Проект IIS+PHP+MySQL+FMS реализует видео-чат.

В качестве шаблонизатора используется Smarty (http://www.smarty.net/).
Спустя 3 года с выхода в live начал сдыхать. Это проявлялось дикими тормозами, странички которые в первое время продакшн-жизни грузились 1-2 секунды начали грузиться по 30-40 секунд. Что соответственно и породило необходимость изучить этот вопрос.

Началом исследования были установка систем мониторинга на сервер (Cacti и т. д.), потому что грешили на нехватку системных ресурсов. После недельного контроля стало ясно, что все ресурсы в норме даже в часы пик.

Начали копать глубже, в сторону толщины интернет-канала. После подсчетов выяснили, что при таких нагрузках канал не должен загинаться.

Посмотрели в сторону работы Flash-части аппликухи, особых огрех не было найдено, те что нашли - исправили. Но это на ситуацию не повлияло.
Не обминули вниманием и ПХП часть на предмет оптимизации запросов к базе и тому подобного, нашли мелочи всякие, оптимизнули - не помогло.

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

В результате написали крон-скрипт, который раз в 2 месяца делает “зачистку” папочки с кешом.

3 комментариев на данный момент

  1. AmdY Февраль 11th, 2010 20:58

    >>IIS
    >>крон-скрипт
    вы используете iis под unix? ms хвасталась, что в iis куча плюшек для для аудио и видио трансляций, это действительно так, что стоит отказаться от других вариантов в пользу коммерческого сервера.

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

  2. vredniy Февраль 26th, 2010 01:39

    Очень нужная заметка, сейчас самому пришлось с нечто подобным столкнуться. Спасибо

  3. vitamin Март 19th, 2010 15:31

    >>вы используете iis под unix?
    Безусловно нет, я ошибся. Сказал по привычке, так как подавляющее кол-во проектов на линуксах, а там крон. Здесь речь шла о каком нибудь способе автоматической чистки папки с кешом. Не в курсе может ли это делать Виндовый Шедулер.

    >>дату последнего использования файла
    Вариант, согласен.

Оставить комментарий