Шпаргалко Сумасшедшего ПрограммЁра Waiting of summer

15Сен/105

Оптимизация WordPress, W3 Total Cache и иже с ней

 

Здравствуй-здравствуй, дорогой читатель.

Тема оптимизации WordPress неоднократно и здорово муссировалась на разных блогах, форумах, порталах, и прочих, прочих. Да, WP работает медленно, в базовой комплектации, и сделать с этим что-либо довольно сложно. Дело осложняется хостером. Дело в том, что блоги как правило находятся на бюджетных хостингах, стоящих в районе 150 р/мес, и этот блог не исключение. Зачастую же, разные пособия говорят о том, как можно улучшить железо и хостинг, путём установки дополнительной памяти, установкой расширений для PHP, и прочего, прочего. Я решил описать более-менее доступные варианты, но не обойду и варианты более дорогие. Блог на wordpress, если им более или менее заниматься, начинает набирать популярность, посетителей становится всё больше и больше, и вы начинаете подумывать о том, что хостинг - ну например на такой каке как джино (где находится мой нынешний сайт) - может и не возрадоваться возросшей нагрузке, да и увеличить время отдачи страницы секунд так до 10-15. Это не есть хорошо, ага, особенно если учесть что нормальный пользователь шлёт сайт в пеший сексуальный поход после 4-5 секунд загрузки. Если обобщить, то есть несколько вариантов как улучшить ситуацию:

  1. Перенести сайт на другой хостинг, лучше всего на VPS (Virtual Private Server, виртуальный выделенный сервер) - это самый эффективный способ, по той причине, что вам открываются не только оптимизации в самом движке WP, но и некоторые системные (установка кэшировщиков).
  2. Найти другого, более дорогого хостера, который может установить расширения по запросу. Кроме того, предоставляет больше ресурсов (в первую очередь процессорное время + память на скрипт + широкий канал с безлимитным траффиком)
  3. Провести оптимизацию движка и выдачи.

Инструменты, которые нам понадобятся.

  1. Браузер Firefox. Взять его можно здесь.
  2. Когда установили Firefox, к нему требуется добавить дополнение Firebug - отладчик страниц. Вообще, для установки дополнений откройте в Firefox меню "инструменты" - "дополнения", там вкладка "поиск дополнений" и в строке поиска вводите Firebug. Ну или скачайте отсюда.
  3. Когда установите firebug, надо ещё установить PageSpeed от Google - он и будет основным инструментом анализа производительности.

Кроме перечисленного, неплохо бы иметь также доступ к статистике по ресурсам сервера, у всех хостеров это должно быть. И нагрузочный тестер от Apache - Jakarta Meter. Но джакарта - это уже высокий уровень, там требуется создавать сценарии нагрузочного тестирования. Инструмент весьма эффективен, он позволяет создавать требуемую нагрузку на сервер, анализировать время отклика, скорость загрузки страниц и многое другое. В общем - сложный, гибкий и бесплатный инструмент (open-source, господа!).

Начнём с простого - плагины для оптимизации WordPress.

Да, умные люди уже неоднократно чесали маковки, в судорожных биениях о движок. Разродились оныя энным количеством плагинов, позволяющим в той или иной мере ускорить отдачу страниц пользователям. Самые известные - это и WP-Cache, и WP Super Cache, и Realy Static, и WP File Cache... Реально же, нас интересует один конечный параметр - это скорость отдачи страницы пользователю, при заданной нагрузке, ну, скажем, 10 обращений в секунду. Складывается она из времени генерации на сервере, и скорости выгрузки. Увы и ах, результаты тестирования - вещь меняющаяся от обзора к обзору, от версии к версии. Причем, что любопытно, в конце выводы так или иначе разнятся - лучшим признаётся тот или иной плагин, сравниваются характеристики, "этот на две страницы в секунду больше выдаёт"... Но, давайте посмотрим с другой стороны - со стороны удобства для администратора, т.е. владельца блога. Для более-менее нормальной оптимизации, вам надо:



Чтобы жизнь была как праздник - RSS читай проказник!

В тему

Комментарии (5) Пинги (0)
  1. Поставил на свой сайт W3 Total Cache http://www.benatar.ru. Хорошая вещь. На хостинге есть memcache – я туда кэширую запросы и объекты (кстати, что за объекты, так пока и не понял; но их много и кэшируются они хорошо). Страницы – на диск, ибо memcache у ht-systems маловат – 256 Мб на весь сервер.
    А вот бесплатных CDN в списке настроек, судя по всему, нет.
    Но я нашел один – http://www.coralcdn.org Сервер кэширования – имя_вашего_сайта.доменная_зона.nyud.net – нужно прописать в настройках кэша, а тип кэширования выбрать mirror. У меня уже частично заработало (файлы темы через CDN грузятся), посмотрю, даст ли какой-нибудь прирост.

    • Вообще CDN сети предназначены для доставки контента с ближайшего к пользователю сервера. Я вот просто не уверен, что бесплатный сервис способен предоставить такую инфраструктуру.
      Да и в целом, как в моём случае оказалось, данный плагин увеличивал нагрузку на сервер во много раз (и время отклика тоже). Т.е. не ускорял, а наоборот, замедлял отдачу. Я подозреваю, это происходило из-за того, что он оптимизирован всё же для использования на VPS/VDS а не на shared-хостинге.

  2. Итак, CDN показала свою работоспособность по отношению к файлам больше 500 кБ. Но увы, все ее сервера находятся за бугром, потому бывают недоступны в наших краях. Пришлось отключить, а жаль – идея мне очень понравилась.
    Насчет нагрузки – у меня тоже не VDS, но скорость ощутимо подросла. Может быть стоило покопаться в настройках? Благо там их очень много, и некоторые на шаровом хостинге действительно будут только замедлять работу.

    • Копался, причем активно и очень длительное время :) Нет, в принципе я вот задумываюсь со временем перейти на VPS или даже что-то посерьёзнее… Если финансы будут позволять :) В принципе, аренда collocation позволяет размещать свой сервер на площадке провайдера где-то за 2400-2500 т.р./мес. Естественно при этом получается хостинг абсолютно иного уровня и по надёжности и по быстродействию. Ну и лезвие 1U само по себе стоит где-то 30к, в среднем – такая сборочка включает в себя примерно двух-четырёхъядерный проц интел, 4-6 ГБ оперативки, 100 МБит сеть и 500-1000 Гб дискового пространства. Естественно, на хосте такого рода должен работать не один проект :) Как минимум какой-либо ресурс, который будет выводить в ноль стоимость аренды и понемногу окупать железо. А так, данная конфигурация позволяет очень и очень неплохую систему создать, с блэкджеком и шлюхами memcached, APC и nginx. Ну и хостинг нескольких доменов.

  3. Мда.. Презабавненько у вас тут x)


Leave a comment

(required)

Собирать идеально - не обязательно, просто приблизительно соберите картинку (должен быть включен JavaScript).


Нет обратных ссылок на эту запись.