Оптимизируем WordPress — работа с памятью

Пожалуй, только новичку не известно, что WordPress потребляет много ресурсов. Об оптимизации движка WordPress я уже не раз писал. К примеру, свежеинсталлированный WordPress жрет 25-30 мб памяти. Количество запросов к БД составляет 16 с главной страницы и около 25 со страниц и разделов. А если ко всему этому еще добавить плагины, WP и вовсе превращается в громоздкую машину.
Но при помощи умелых рук и этой инструкции вы сможете снизить потребление памяти в 10 раз, нагрузку на БД в запросах более чем в 8-9 раз, а генерация станет стабильной в районе 0.1-0.5 секунд. Сейчас мои блоги потребляют не более 3-4 мб памяти, количество запросов к БД с главной 3, с других страниц 6-9. Хотите себе такие показатели — дочитайте статью до конца.

Оптимизация WordPress - показатели
Оптимизация WordPress - показатели


Для начала нам нужно замерить показатели. Об использовании специального кода я уже писал в данной статье.
Вписываем код в footer.php нашей темы:

<?php echo get_num_queries(); ?> запросов. <?php timer_stop(1); ?> секунд. <?php echo memory_get_usage()/1024/1024, 2; ?> Мб

Что ж цифры я думаю вас не впечатлили. Пару десятков запросов к базе данных, около 30 мб памяти.

1.Самый доступный способ — это замена файлов локализации WordPress на облегченные версии Lite. Скачиваем архив Файлы локализации WordPress. Внутри 2 файла: ru_RU_lite.mo и ru_RU_lite.po. Копируем их в папку wp-content/languages нашего блога. Открываем wp-config.php:
Вместо

define('WPLANG', 'ru_RU');

пишем это:

if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) 
     define ('WPLANG', 'ru_RU'); 
else define ('WPLANG', 'ru_RU_lite');

Сохраняем и заливаем на сервер.
Таким образом, данная манипуляция позволяет сократить потребление памяти почти на 8-9 мб.

2. Данный способ требует наличия у вас на хостинге или сервере Eaccelerator — «ускоритель работы PHP-кода». Как установить Eaccelerator на сервер я уже писал в этой статье. При наличии Eaccelerator на хостинге потребление памяти снижается почти в 2 раза. Заплатив за различные услуги хостинга, возможно подключить Eaccelerator на виртуальный хостинг.
Таким образом, данные два способа снизили потребление памяти WordPress`ом с 30 мб до 4х.

3. Отключение обновлений позволяет снизить потребление памяти в среднем на 200-300 кб.
Открываем файл update.php в папке wp-includes, листаем до конца. В конце видим 13 строк (в версии 3.3.2), начинающихся на add_action. Перед каждой строкой ставим решетку и сохраняем, как показано на рисунке ниже.

Блокировка обновления WordPress
Блокировка обновления WordPress

Таким образом, мы запретили блогу проверять обновления, тем самым сократив потребление памяти и нагрузку на сервер.
О запросах и кешировании поговорим в следующей статье.


9 comments

  1. Иван

    В версии WordPress 4.7 нет этих строк в wp-config.

  2. Елена

    Нужный материал, я сейчас как раз занимаюсь ускорением блога и воспользуюсь вашими советами, спасибо!

  3. denpes

    У меня после 3 пункта почему-то нагрузка стала больше.

  4. Artem

    Поменял файлы локализации уменьшилась потребление памяти всего на 2 мб, с 25 до 23. А об Eaccelerator для начинающего блогера нечего и думать, а так хотелось реально уменьшить количество потребляемой памяти.

  5. Eric Newman Post author

    Пользуйтесь услугами хостинга, на которых установлен eaccelerator

  6. Serega

    У меня плагины стоят там. И сам вордпресс уже немного проггером под меня подбравлен.

  7. Eric Newman Post author

    Ну вы же видите, что в блоге все по-прежнему))

  8. Serega

    Замена файлов локализации WordPress на облегченные версии Lite повлияет на работу системы, плагинов? или все как было, так и останется?

  9. Тайлер

    полезно спс. а я никогда не заморачивался

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

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