Фев 8
Smarty-кеш или сайт тормозит
Проект IIS+PHP+MySQL+FMS реализует видео-чат.
В качестве шаблонизатора используется Smarty (http://www.smarty.net/).
Спустя 3 года с выхода в live начал сдыхать. Это проявлялось дикими тормозами, странички которые в первое время продакшн-жизни грузились 1-2 секунды начали грузиться по 30-40 секунд. Что соответственно и породило необходимость изучить этот вопрос.
Началом исследования были установка систем мониторинга на сервер (Cacti и т. д.), потому что грешили на нехватку системных ресурсов. После недельного контроля стало ясно, что все ресурсы в норме даже в часы пик.
Начали копать глубже, в сторону толщины интернет-канала. После подсчетов выяснили, что при таких нагрузках канал не должен загинаться.
Посмотрели в сторону работы Flash-части аппликухи, особых огрех не было найдено, те что нашли - исправили. Но это на ситуацию не повлияло.
Не обминули вниманием и ПХП часть на предмет оптимизации запросов к базе и тому подобного, нашли мелочи всякие, оптимизнули - не помогло.
Оказались в тупиковой ситуации, так как уже не знали куда смотреть.
По чистой случайности заглянули в папку, хранящую кеш-файлы Smarty. Она содержала ни много ни мало 29 тысяч файлов.
После недолгого совещания решили их удалить. Результат был налицо, всё вернулось на круги своя, странички грузятся как в былые времена, сравнительно быстро и без лишних вопросов.
В результате написали крон-скрипт, который раз в 2 месяца делает “зачистку” папочки с кешом.
3 комментариев на данный момент
Оставить комментарий
>>IIS
>>крон-скрипт
вы используете iis под unix? ms хвасталась, что в iis куча плюшек для для аудио и видио трансляций, это действительно так, что стоит отказаться от других вариантов в пользу коммерческого сервера.
а по задаче, возможно не стоит так уж чистить всё, стоит смотреть на дату последнего использования файла.
и совет следить за старым кэшем и проводить чистку касается не только смарти, но и других кэшеров без функций gc.
Очень нужная заметка, сейчас самому пришлось с нечто подобным столкнуться. Спасибо
>>вы используете iis под unix?
Безусловно нет, я ошибся. Сказал по привычке, так как подавляющее кол-во проектов на линуксах, а там крон. Здесь речь шла о каком нибудь способе автоматической чистки папки с кешом. Не в курсе может ли это делать Виндовый Шедулер.
>>дату последнего использования файла
Вариант, согласен.