n-wp.ru — блог о WordPress
Скрипт кэширования My_Cache | n-wp.ru

Скрипт кэширования My_Cache

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

О кэшировании на этом блоге писалось много, но все равно вкратце расскажу в чем плюсы кэширования.
По сути в кэшировании 2 основных плюса — снижается нагрузка, вызываемая движком wordpress, и странички открываются быстрее.

Пользуясь данными из Интернета, я написал скрипт для WordPress, который существенно снижает нагрузку на сервер, и позволяет увеличить скорость загрузки страниц в несколько раз — My_Cache.

За счет того, что страницы посетителям сайта отдаются кэшированные – потребление ресурсов сервера сводится к минимуму – т.е. практически до уровня статического сайта (0 MySQL  запросов, 0.1(0.2) Мб php памяти, время открытия страниц – доли секунды..). 

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

Поскольку посетителям сайта страницы отдаются из кэша, т.е. заранее выполненный код, то динамические вещи перестанут работать (не путать с js скриптами).

  1. При отправке комментария сбрасывает кэш страницы с которой был отправлен комментарий
  2. Сброс всего кэша по url
  3. Кэширование для залогиненных пользователей не производится
  4. Задается время, через которое кэш для страницы будет признан просрочен, т.е. при заходе на «просроченную» страницу она перекэшируется
  5. Не кэшируются страницы с параметрами (страницы вида ?id=1&test=wet&id) – работает только с ЧПУ (если у вас не включено ЧПУ – то нужно удалить функцию if ($_SERVER[‘QUERY_STRING’])для отключения этого функционала)
  6. страницы с 404 ошибкой не кэшируются
  1. Кнопка сброса всего кэша
  2. Возможность включить автоочистку кэша раз в сутки при превышении размера папки с кэшом заданного размера (по умолчанию 10 Мб)

На графике наглядно видно, как уменьшилась нагрузка на сервер после включения скрипта:

Скрипт кэширования My_Cache

Скачать скрипт кэширования можно со страницы скрипта кэширования на блоге centavrus-opti.ru (мой блог).

Скачать
Скрипт кэширования My_Cache
вы перейдете по ссылке http://centavrus-opti.ru/skript-keshirovaniya-dlya-wordpress.html

21 комментарий

    • Точно известно, что скорость загрузки блога с этим скриптом выше, чем с HyperCache. И нагрузка на блог ниже. Да и с комментариями он работает гибче — сбрасывает кэш при комментировании. HyperCache, насколько я знаю, просто либо кэширует, либо не кэширует комментаторов. Хотя понятия лучше-хуже трудно применить к таким штукам, как кэширование.

  • обильного тестирования вернее сравнения не производилось — т.к. изначально преследовался свой функционал.

    у HyperCache другой принцип работы.

    процитирую из комментариев со страницы скрипта:
    Установил скрипт кеширования- на WP 2.9.1 показывает нагрузку: 0.22MB/0.00049s против 35 запросов/0.338s/23.77MB на HyperCache.

    p.s. переиодически буду смотреть и здесь комментарии, но лучше по скрипту обсуждать на странице самого скрипта — что бы если что-то спрашиваете можно было потом увидеть на странице скрипта всем — а не собирать информацию по кусочкам..

    • Абсолютно верно. Лучше всегда обращаться к первоисточнику и задавать вопрос разработчику — ему это более важно, чем мне. Сам тестировал скрипт, и могу сказать, что главным его преимуществом является очень низкая нагрузка на сервер — меньше 0.3 MB памяти. Как я понимаю, это достигается за счет того, что база данных вообще не участвует в выдаче. Если использовать HyperCache, то такого результата вы не получите никогда.

  • Warning: include_once(/home/wwwru/public_html/wwwww.ru/wp-content/plugins/v1.17/) [function.include-once]: failed to open stream: Success in /home/uriilru/public_html/renomme.ru/wp-settings.php on line 465

    Warning: include_once() [function.include]: Failed opening ‘/home/wwwru/public_html/wwwww.ru/wp-content/plugins/v1.17/’ for inclusion (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/wwwru/public_html/wwwww.ru/wp-settings.php on line 465
    Вот что мне выдало, самого плагина в установленных видно не было, пришлось просто удалить папку, после чего все стало на место. Скажите что не так делал, и как быть? Может вопросы и просты, не судите — нови чек))

    • Что бы не было вопросов
      сам скрипт кэширования идет хаком — т.е. работает бе плагина — т.е. подключается по инструкции внутри и смотрите на работу по сути самого скрипта.
      В текущей сборке плагин по сути — просто как дополнение которое очищает кэш раз в сутки если он больше стольки-то Мб.
      В плагине только
      1)Кнопка сброса всего кэша
      2)Возможность включить автоочистку кэша раз в сутки при превышении размера папки с кэшом заданного размера (по умолчанию 10 Мб)

      самого плагина в установленных видно не было = наводит на мысль, что вам нужно ручками тогда поставить права на чтение на этут папку и на файлы в ней…

      Что бы быстрее ответы получать на вопросы — лучше писать либо через форму багрепортов, либо в комментарии на странице скрипта.

      tiaurus, думаю что ладно уж — пусть пишут тут — комментарии это всегда хорошо ;) просто не каждый день просматриваю комментарии тут — по этому будет задержка :(

      Не думаешь поставить форму подписки на комментарии?

  • сейчас сайт разработчкика показывает ошибку 500 — не связано ли это с плагином?
    меня интересует еще пару вопросов:
    1) как саповские ссылки себя ведут?
    2) насколько надежно работае скрипт (см. первое предложение)

    • На саповские ссылки не влияет, если они не слишком часто мерцают. Все зависит от того, на сколько времени выставлен кэш. 500 ошибка с этим плагином мне не встречалась.

  • отличный плагин. Проверил на Денвере — да да и так люди изгаляются))) всё работает. Тока заметил одну особенность — плагин не хочет нормально работать с плагинами предпросмотра комментария — не обновляет кеш, т.е. незарегистрированный пользователь оставив новый комментарий его не видит. Но это ерунда.

    А так плагин оставил у меня хорошие впечатления — без глюков всё работает. Спасибо Вам за такой плагин!

    • Для того, чтобы показывались комментарии, нужно, чтобы кэш обнулялся после опубликования комментария.

  • 500 ошибка на сайте — ну хм не только под вордпресс я домен юзаю…)

    плагин не хочет нормально работать с плагинами предпросмотра комментария = с аяксом работало на днях смотрел.

    Обновил кстати скрипт
    теперь есть: панелька, и сделано сжатие и кэширования css и js скриптов

  • Хотелось бы уточнение получить о «минусе» скрипта.
    Какие именно «динамические вещи» перестают работать?

/* ]]> */