РазделыНовостиПоследние новости → Патч для включения кеширования в ReloadCMS

Этого не было в проекте обновлений ReloadCMS, но очень важно для системы.
При сканировании сайта поисковиками и роботами, создаётся офигенная нагрузка на сервер.
Это часто приводит к перегрузке, а иногда выпиливаются важные файлы.
Если наивно полагаете, что роботы не проблема - включите логи и через недельку зайдите в Управление логами - на сайте со средней посещаемостью ежедневно 85% кликов делается не-людьми, из них 85% пытаются написать спам в комментах.

Я решил добавить возможность кеширования сайта для гостей, тем более это есть в других движках. Это работает даже быстрее чем MySQl, не говоря уже про файловый движок.
Минус (или скорее плюс?) - если какой-то поисковик будет сканировать сайт, большинство повторных кликов не будет учитываться в статистике.
Ещё может быть минусом - пухнет папка кеша, если много страниц. Однако это однозначно компенсируется скоростью работы.

Вот как выглядит папка кеша, если смотреть на неё по ФТП.
png

Каждая страница весит около 20 кб, так что при 1000 страниц на сайте может получиться кеш более 20 Мб - имейте в виду.


Суть работы кеширования.
1. Проверяем если не гость - всё как было, если гость - начинаем кешировать.
2. Палим текущий урл.
3. Шифруем в md5.
4. Проверяем есть ли файл ./content/cache/шифрованный_урл.
5. Если есть и не просрочен - выводим. Если нет или просрочен - создаём заново, а потом выводим.

Желающие погонять и поискать ошибки в коде могут скачать этот патч. Патч ставится на 1.2.7 или 1.2.7-2010 как обычно.

Время жизни кеша по-умолчанию 30 секунд, пока не настраивается, задаётся в index.php
Цитата:
$cache -> time_file_cache = 30;
В новой версии движка сделаем настройки кеша в админке, а пока тестируйте.
По разным версиям тестов у меня был выигрыш в скорости до 20 раз.


Кстати его можно уже использовать как патч для текущей версии;)
27.04.2011 09:12 Автор/источник: admin

Комментировать

Вы не залогинены! Регистрация

Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.