Самый эффективный способ оптимизировать WordPress. Боремся с большой нагрузкой на хостинг
Привет! Несколько дней назад, ближе к вечеру я стал замечать странную проблему на своих сайтах. Просто очень долго идет загрузка сайта (соединение), а затем ошибка «Request Timeout». Я с этой проблемой встретился первый раз, поэтому, долго не думая, написал в поддержку хостинга. У меня ihc.ru, о котором я писал в этой статье.
Мне ответили (быстро ответили), и сказали, что мои сайты создают очень сильную нагрузку, да и допустимую нагрузку я уже превысил. Зашел в панель управления, смотрю, и в правду, нагрузка уже зашкаливает.
Тут я быстро начал разбираться в чем проблема. Сразу подумал, что это снова кто-то пробует подобрать пароль к сайта, на которые я еще не установил защиты (хотя у меня стоит еще защита от хостера, такой себе войной вход в WordPress). Начал настраивать плагин Login Lock.
Тут мне поддержка сообщила, что нагрузку создает один сайт. Да, он самый посещаемый, но в этот день посещаемость была даже меньше, чем обычно. Я значит забросил это дело с плагином Login Lock и начал искать проблему в конкретном сайте.
Выкачал для этого сайта логи и начал их изучать. Так же попросил поддержку хостинга помочь мне найти причину такой нагрузки.
В логах я ничего странного не заметил. А сайты глючили по прежнему и нагрузка, которую они создавали — росла.
Но тут меня снова выручила поддержка. Они указали один IP адрес, который очень активно ведет себя на сайте. И совершил уже более 9000 запросов. Я долго не думая, взял и заблокировал этот IP в файле .htaccess.
Так же, поддержка посоветовала мне отключить сайт, ну, тот который создавал нагрузку. И тут снова вопрос, а как его отключить? Никогда не сталкивался с этим. Как-то, с горем пополам и с помощью плагина Maintenance Mode я отключил сайт, закрыл его для проведения технических работ.
Но сайт то посещаемый, поэтому, держать его закрытым, тоже не вариант. Но после того, как я его отключил, все сайты начали открываться нормально.
Еще где-то пол часа, я был в поиске проблемы. Затем, поддержка мне сообщила снова запустить сайт и посмотреть на результат. Что я и сделал. Все работало нормально. Наверное блокировка того IP, помогла.
Поддержка посоветовала мне установить WordPress W3 Total Cache и мы попрощались, ночь уже, по Москве уже было два часа ночи.
А я решил, что уже завтра займусь оптимизаций основного, посещаемого сайта. А то, нагрузка как-то плавно росла в последнее время, это заметно в панели управления.
Вот, какой был скачок нагрузки:
Я и сам толком не понял, что это был за прыжок в нагрузке. Но это заставило меня задуматься над тем, что бы еще немного оптимизировать хорошо посещаемый сайт на WordPress. А то, нагрузка понемногу росла почему-то с каждым днем (посещаемость не росла).
Оптимизируем WordPress и снижаем нагрузку на хостинг
Очень много статей поэтому вопросу уж написано, и я их все наверное перечитал :).
Я и раньше немного пробовал оптимизировать этот сайт. Там заменял ссылки в header.php и еще по мелочам. Но это все не дает существенного результата в виде уменьшения нагрузки на процессор и базу данных.
Сейчас я расскажу, что я сделал, и что дало хороший результат.
Вообще-то я много чего делал, но от этого всего, толку было мало :).
Проверьте все установленные плагины
Да, и не нужно говорить, что у меня нет ничего лишнего и т. п. Я тоже так думал.
Но когда подробно придрался к списку установленных плагинов, то понял, что например кнопку вверх можно не поленится и сделать вручную, кодом, а не плагином Scroll to Top. А его отключение уже убрало несколько запросов к БД и уменьшило потребление памяти.
Таким образом, я отключил несколько плагинов. И если, раньше у меня для генерации главной страницы потреблялось примерно 10,60 Мб, то сейчас 8,40 Мб. Неплохой результат.
Но что меня поразило больше всего, так это отключение плагина Acunetix WordPress Security. Это плагин я как-то установил для защиты WordPress. Он там убираем версию WP и делает все для максимальной защиты сайта.
Выдели бы Вы мое лицо, когда после его отключения, количество запросов к БД сократилось в два раза. Если на главной было 80 с чем-то запросов, то сейчас 38! Как я вообще мог установить это плагин.
Установите WPLANG Lite
После установки плагина WPLANG Lite у меня количество используемой памяти сократилось на 2 Мб (примерно). Как я понял, на разных сайтах по разному (зависит от количества установленых плагинов).
Этот плагин как-то там оптимизирует локализацию, точно не знаю, можете загуглить :). Но у меня с ним проблем не возникло, установил, активировал и все ок. А результат хороший.
Вот результат моих трудов:
Как видите, результат очень хороший. Нагрузка на хостинг значительно упала. Даже при том, что в тот день посещаемость немного выросла.
Ах да, плагин Wordpress W3 Total Cache, или другие плагины для кэширования, я так и не ставил. Не люблю я их, или настраивать просто не умею :). Да и проблем от них как правило, много.
Полезная инфа, а я как раз сейчас занимаюсь ускорением блога и обязательно воспользуюсь вашими советами. Спасибо!
Спасибо. Интересная статья.
Плагину больше ста лет) Последние его обновление было еще в мезазойской эре, не известно как сейчас он работает) Движок то весь перелопатили уже с того времени, наверняка что-то должно быть посвежей)
Я добавил на хост второй сайт. Добавил там плагин, которого нет на первом. Может ли нагрузка из-за одного плагина возрасти в 5 раз? Думаю, что виной плагин Easy VKontakte Connect.