Создание сайтов. Система управления сайтом Wizet CMS.

keshirovanie_php_stranic

Кеширование PHP


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

Самыми распространёнными на данный момент являются страницы комбинирующие PHP и mySQL для получения кода страницы.

Время доступа к любой странице для пользователя очевидно складывается из нескольких слагаемых:

- время получения запроса (особенно с данными POST)
- время парсинга кода
- время выборки из таблиц SQL
- время передачи скомпилированного кода

Для разных хостеров, разных тарифов и даже для разного времени суток время генерации страницы будет различаться в разы.

Для примера: генерация страницы самого простого и лёгкого скрипта Wizet CMS занимает на тарифе CMS Профи провайдера Мастерхост - 0.03-0.08 сек, на тарифе Миллениум провайдера TimeWeb 0.005-0.01 сек, а на тарифе Эксперт провайдера Мажордомо - 0.1-2.2 сек. Для полностью рабочей базы интернет магазина с 1000 уникальных посетителей в день, эта цифра увеличивается в 4 раза.

Очевидно, что при таких скоростях генерации количество уникальных посетителей в сутки, которые могут посещать сайт без разделения на субдомены для этих тарифов (к слову максимальных UNIX-хостинг тарифов каждого провайдера) составляет примерно 200 000, 20 000 и 400 000  посетителей соответвенно. Но учитывая что нагрузка растёт интегрально, а также тот  факт, что свыше 60% посещений приходятся на 25% времени суток (вечер) правильнее считать максимальную суточную нагрузку для провайдеров: Мастерхост - 40000, Мажордомо - 4000, Таймвеб - 80000 посетителей.

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

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

Заметим, что никто (!) кроме заказщика сайта не сможет заранее сказать какие страницы потребуют подключение или отключения кеширования, поэтому в зависимости от сложности проекта максимальные значения количества посетителей могут отличаться в 2-3 раза как в меньшую, так и в большую сторону. При должной организации кеширования наиболее частоиспользуемых страниц на сервере возможно уменьшение среднего времени генерации страницы в 5 раз.

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





Улучшения на Masterhost

Wizet CMS версия 1.2

Wizet CMS версия 1.1

Wizet CMS 1.01

Кеширование PHP. Производительность на хостингах

   



Powered by Wizet CMS.| © 2008-2010 | E-mail info@wizet.ru