Оптимизация 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 обращений в секунду. Складывается она из времени генерации на сервере, и скорости выгрузки. Увы и ах, результаты тестирования — вещь меняющаяся от обзора к обзору, от версии к версии. Причем, что любопытно, в конце выводы так или иначе разнятся — лучшим признаётся тот или иной плагин, сравниваются характеристики, «этот на две страницы в секунду больше выдаёт»… Но, давайте посмотрим с другой стороны — со стороны удобства для администратора, т.е. владельца блога. Для более-менее нормальной оптимизации, вам надо:

Автор

Алекс Разгибалов

Сумасшедший мужчина, неопределённого возраста, наслаждающийся манией преследования. Паталогически недоверчив, эгоистичен, авторитарен. Вторичные диагнозы - программист и поц. Владеет английским языком на уровне около хренового разговорного. Также знаком с некоторыми другими языками. Интересуется всем и вся, за счёт чего в любой области знания являются поверхностными, неглубокими. Характер невыдержанный. Крепость - 55 градусов.

Оптимизация WordPress, W3 Total Cache и иже с ней: 5 комментариев

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

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

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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