Ускоряем работу блога и навигацию по “админке” WordPress
Что я сделал чтобы ускорить в несколько раз работу блога:
- Проапгрейдил сервер: заменил процессор celeron600 на pentium1000, увеличил память с 192мб до 512мб
- Установил русскую сборку wordpress maxsite.org
- Включил встроенное кэширование блога (плагин wp-cache 2 почему то показал меньшую эффективность, хотя пробовать буду и дальше разные варианты)
- Включил использование кэша для плагина simple tagging (поддерживается в версии 1.6.8.1 и выше)
- Установил php ускоритель ()
- Прочистил от мусора таблицу options в базе блога по инструкции на maxsite.org
- Прописал все используемые домены на сервере в файле hosts на внутренний IP сервера (на хостинге вам вряд ли это пропишут, к сожалению)
- С помощью загрузки сайта обнаружил и устранил баги в теме и плагинах (исправил ссылки на несуществующие файлы и функции, которые грузили лишний раз сервер вызовом страницы 404)
- Установил плагин удобного меню админки, который не только добавляет удобство в работе, но и реально ускоряет работу – можете проверить
- Установил плагин Панель администрирования wordpress в стиле Mac OS X Tiger, который делает админку намного приятнее и как ни странно тоже положительно влияет на скорость работы.
- Прописал локальную картинку для аватаров сервиса gravatar, если у пользователя нет своей картинки
- Скопировал себе все флаги для плагина ip2nation и изменил пути с зарубежных серверов на свой.
Все это в совокупности дало такие результаты:
Раньше при забитом канале до сервера и глюках DNS сервера провайдера , а сервер у меня работает на АДСЛ канале со скоростью 128-256 кбит входящей скорости и 2200 кбит исходящей, любой запрос к любой странице создавал лишние запросы к DNS серверу (устранилось прописыванием доменов в hosts) – это дало неожиданно приятный результат – время генерации страницы снизилось на 0,2-0,5секунд в среднем.
Установка php ускорителя дала выигрыш раза в 3 как минимум и не только для блога. Достаточно тормозная галерея gallery2 тоже стала шевелиться намного быстрее. В настройках ускорителя надо отключаться сжатие в настройках – оно только сильно мешает
Включение встроенного кэширования дало выигрыш тоже раза в 2 в среднем. Все кэширование в целом позволило избавиться от падения и пожирания памяти apache при перегрузках.
Плагины для админки ускоряют работу также очень сильно – т.к. по выпадающим меню перемещаться гораздо быстрее, чем переходить в каждый раздел и уже там открывать нужный пункт (лишний раз только грузится ненужная страница)
Замена процессора и памяти дали также огромный выигрыш, т.к. при работе wordpress используется достаточно много ресурсов php и mysql – по данным утилиты top в линуксе.
Итоги
Раньше в лучшем случае страница генерировалась от 1 до 3 секунд, при 5 посетителях уже было по 5-7 секунд в среднем, а при просаживании канала (днс запросы тупили) вообще доходило до 15 секунд. Админка же до оптимизации работала быстро только при всех отключенных плагинах, и в среднем генерировала свои страницы за 1-5секунд.
После оптимизации стало (по показаниям встроенных счетчиков времени исполнения запросов):
- генерация страницы блога в среднем 0.5 - 0.9 секунды.
- генерация страницы админки в среднем 0.4 секунды, максимум 1 секунда (на “голом” блоге (с отключением всех плагинов) вообще 0.2 секунды в среднем)
Рубрики: Wordpress Метки: Wordpress, полезно
Распечатать
Связанные записи
17 комментариев
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!




5 октября 2007 в 15:50 (GMT+6)
Хорошо иметь свой выделенный сервак.
Не все пункты можно исправить используя эту статью для ускорения работы сервера.
6 октября 2007 в 19:16 (GMT+6)
По “wp-cache 2″ если будут новости – не забудь сообщить. :wink:
9 февраля 2008 в 1:32 (GMT+6)
некоторое время назад делал апгрейд софта на сервере и что то видимо лишнего удалил , т.к. после пересборки акселератора под новую версию php почему то начинал тормозить сервер после нескольких часов работы и отдавать страницы блогов то быстро, то задумываясь по 20-60секунд. при этом росло и потребление памяти. Поэтому примерно раз в сутки я его просто перезапускал. и вот позавчера обнаружил что почему то отсутствует вообще папка кэша /tmp/eaccelerator, которую я создавал для временных файлов акселератора. Сразу после создания папки и перезапуска апача нагрузка на сервер резко снизилась и освободилось почти 150мб оперативки….
15 марта 2008 в 19:00 (GMT+6)
Кроме pingdom tools есть еще аналогичный
28 сентября 2008 в 0:52 (GMT+6)
А можно применить эти советы к платному хостингу?
Ускорение работы блога не отразится на используемых ресурсах?
28 сентября 2008 в 10:30 (GMT+6)
@Ай Пи Мани: почитайте лучше это http://lecactus.ru/2008/09/27/2819/ еще .. все это можно делать только на vds или физическом своем сервере. потребление ресурсов УМЕНЬШИТСЯ
12 октября 2008 в 12:16 (GMT+6)
Как деньги будут тоже надо попробывать купить виртуальный сервак, а то щас только одни огарчения… Там все таки сам себе хозяин буду.
12 октября 2008 в 12:18 (GMT+6)
А как вы сделали, что ваш коммент выделяется рамочкой? Можете рассказать как отдельный стиль сделать для админа или какого-либо пользователя?
12 октября 2008 в 12:39 (GMT+6)
#content ol.commentlist li.author{
border:#4c6bf6 1px dashed;
padding:5px;
color: #111;
ну естественно в вашей теме может быть немного по другому строка начинаться
PS для это даже спецплагин был и на форуме вопрос был вроде рассмотрен
26 ноября 2008 в 3:18 (GMT+6)
Можно и без плагина, таки зачем он – (надеюсь, автор не против ссылки). Если это, конечно, не спаммер спрашивает :)
6 февраля 2009 в 10:00 (GMT+6)
Здравствуйте!
Я неявляюсь веб-программистом. В процессе работы с WordPress уменя возникла проблема – большое время доступа к сайту. Я установил плагин WP Tuner и выяснил, что 98% времени отклика сайта на запрос занимает функция widgets_init, а это около 10-12 секунд. Остальные функции срабатывают очень быстро. Отсюда и возник вопрос, что делать, что бы ускорить работу WP (установлна версия 2.6.5, перешел на не с 2.6.2, не помогло…), а именно функции widgets_init? Поиск в Гугле ничего конкретного не дал… Я прям и не знаю что делать… :(
6 февраля 2009 в 14:02 (GMT+6)
xsid, виджетами пользуетесь?
6 февраля 2009 в 14:10 (GMT+6)
да. некоторыми.
17 февраля 2009 в 16:20 (GMT+6)
А подскажите, как заменить картинки с gravatar на локальные?
17 февраля 2009 в 22:48 (GMT+6)
Дедушка,
из кодекса. короче говоря там где path_to_url – надо прописать путь к картинке на своем сервере – картинке которая будет показываться если у автора комента нет граватара (чтобы не показывать разные монстрИД и дефолтные картинки ВП)
17 февраля 2009 в 23:45 (GMT+6)
$comment я заменил на $id_or_email, тогда заработало
Но все равно получается адрес картинки вида:
> gravatar . com/avatar/a476ca606210536da11afe7bff5cb7e2?s=32&d=http%3A%2F%2Fdedushka . org%2Fimg%2Favatar.gif%3Fs%3D32&r=G
т.е. всё равно идёт обращение на сайт gravatar.
30 октября 2009 в 21:34 (GMT+6)
Спасибо