В октябре я уже писал, что хостинги совершенно не тянут нагрузку, которую “обеспечивают” хорошо посещаемые сайты.
Например, на FastVPS сейчас крутится всего 3 сайта с общей посещалкой в сутки 10000 хостов в сутки, в пиковые моменты онлайн бывает до 300 человек одновременно. И в эти самые моменты сервак “глохнет” – перезагрузка не помогает, как и танцы с бубном… Все 1200 Мб оперативки заняты!
Та же история и с обычными хостингами – стоит “онлайн” на сайтах собраться 150-200 человек – тушите свет, на сайт не зайдешь.
Конечно, если бы сайты были на чистом HTML, то никто бы и не жаловался – серваки шустренько бегали бы и с большей посещалкой. Но кто сейчас такие сайты-то делает, в 2012 году? :) Все наши сайты бегают на Wordpress и ни для кого не секрет, что этот монстр при большой посещаемости нещадно жрет системные ресурсы.
Сайты не работают = мы теряем деньги. Как обезопасить себя от ущерба?
1. Арендовать дорогой сервер. Я изучал эту тему летом и понял, что дешевле 3500 в месяц нормальный выделенный сервер не найти. А 3500 – это слишком дорого, ведь сайтов в общей сумме не так много. Тем более, размещать все сайты в одном месте – большой риск. Сейчас сайты раскиданы по трем хостингам и не бывает такого, чтобы все были недоступны разом.
2. nginx. По запросу в службу поддержки. На FastVPS этот вопрос решается легко, а на shared хостингах (например, SWEB) его не включат даже по требованию.
3. MAXCACHE. Это главное средство по борьбе с нагрузкой, которую создает WP. Данный скрипт стоит 900 рублей, лицензия дается на 3 сайта. За подключение каждого последующего сайта – 60 рублей. Подробное описание здесь
Данный скрипт кэширует Wordpress и создает html версии страничек сайта. После инсталляции скрипта (достаточно закачать файлы на сервер и создать 1 папку), сразу визуально можно будет заметить, как быстро загружается главная после ее повторного открытия. Задержку при загрузке могут вызывать только блоки контекстной рекламы, тизерки и т.п. (да, со всем этим он совместим).
Лично у меня при использовании MaxCache возникли 2 проблемы, которые удалось решить.
Не исключено, что эти проблемы могут появиться у Вас, так что мотайте на ус.
Проблема 1. При использовании плагина Platinum SEO не переписываются TITLE страниц так, как указано в настройках.
Из-за этой проблемы мне пришлось на пару месяцев отказаться от использования MaxCache, что сразу вылилось в письма хостера о превышении нагрузки. Но зато тайтлы были нормальные :)
Решение проблемы именно с Platinum SEO приведено здесь. Я же не стал заморачиваться с правками кода и просто начал использовать другой плагин – Ultimate SEO. По функционалу он не уступает, а даже превосходит Платинум, не глючит и отлично работает в связке с MaxCache.
Проблема 2. После установки скрипта на страницах сайта выводятся ошибки PHP.
Проблема была на сайте, который висит на FastVPS. У других сайтов эта проблема не возникала, значит дело в теме или движке. После интенсивного гуглинга, были перепробованы несколько вариантов, но ошибка не исчезала
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /var/www/XXX/data/www/XXX/maxsite-cache.php(1) : eval()’d code on line 1
По сути, это не ошибка, а предупреждение. После переписки с автором скрипта и службой поддержки FastVPS, единственным вариантом оказалось убрать вывод ошибок и предупреждений на уровне сервера. Это делается в htaccess с помощью директивы
php_flag display_errors off
Плагин отлично работает, а ошибки не выводятся на страницах – что и требовалось. К сожалению, локализовать и устранить источник ошибки не удалось.
Сейчас все сайты шустро бегают, открываются за секунды и не перегружают сервак.
