Данные текст является переводом статьи Reduce WordPress CPU Usage #3 — Reduce your database queries , опубликованной в блоге cravingtech.com. Также вы можете ознакомиться с переводом первой и второй статьи из этой серии.

Высокая нагрузка на процессор может быть вызвана большим числом sql-запросов, производимых WordPress. В WordPress-блогах почти все данные берутся из базы данных — комментарии, посты, URL блога, расположение CSS-файлов и прочая информация, необходимая плагинам.

Некоторые из этих запросов необходимы, а некоторых можно избежать просто используя плагин WP-SuperCache. Тем не менее, запросы к базе данных все еще необходимы для генерации статических файлов после очистки кэша.

Как же выяснить, сколько обращений к базе данных производит блог? Вы можете вставить следующий кусок кода в файл footer.php (или любой другой) чтобы вывести число использованных запросов:

<?php echo $wpdb -> num_queries ; ?> <?php _e ( ‘queries’ ) ; ?>

Для примера, я получил число запросов, используемое различными шаблонами:

  • Vigilance Theme: 25 запросов;
  • Arthemia Premium (тема, которую я использую сейчас): 58 запросов;
  • Оригинальная Arthemia Premium (с демо-сайта, без исправлений): 101 запрос.

Vigilance Theme — это легкая тема, которую я использовал, когда меня заставил уменьшить нагрузку на процессор мой старый хостер, LunarPages. Как видите, эта тема использует наименьшее число запросов к БД.

Текущая тема этого блога, Arthemia Premium, использует множество запросов (для будущих постов, случайных постов и тд). Я уже сделал кое-какие исправления для уменьшения числа динамических элементов. Результат совершенно потрясающий: число запросов уменьшилось в два раза!

Каким образом можно уменьшить число запросов к БД, если не считать установки WP-SuperCache? Для начала необходимо уменьшить число используемых плагинов . Любой плагин, как правило, хранит информацию в базе данных. Некоторые плагины делают больше запросов, чем другие.

Если вам необходимо использовать некий плагин, попробуйте уменьшить число информации, которую он должен хранить или выводить насколько это возможно. Например, если вы можете отключить ведение журнала, сделайте это. В большинстве случаев он вам не потребуется. Еще пример: антиспам-плагин обычно позволяет выбрать — отображать или нет число отфильтрованных комментариев. Отключите эту возможность! Вам известно, что для определения этого числа плагину нужно произвести лишний запрос к БД?

Пропишите в коде очевидную информацию , такую, как URL вашего блога, вместо того, чтобы забирать ее из базы данных. Выясните, где в шаблоне используется абсолютный URL блога, просмотрев исходный код страницы, и жестко пропишите его с помощью редактора шаблонов. Не проделывайте этого с title — пусть WordPress генерирует его динамически для поисковой оптимизации.

Отключите ревизии постов с помощью плагина Disable Revisions plug-in . Во время написания поста в базе данных создается новая запись каждый раз, когда сохраняется черновик. Выключите эту возможность, если она вам не нужна! (Я бы советовал WP-Optimize — прим. пер.)

Сократите число выводимых постов на главной странице и количество виджетов в сайдбаре. Я удалил виджет со случайными постами в своей теме Arthemia Premium, поскольку он выполняет «дорогие» запросы к базе данных.

У меня все. Не стесняйтесь предлагать свои советы по ускорению WordPress в комментариях!

От переводчика: По моим наблюдениям, самый «тяжелый» запрос к БД создается виджетом «Облако меток». Я бы рекомендовал в первую очередь избавиться от него, и лишь потом решать, требуется ли дальнейшая оптимизация. В качестве альтернативы «Облаку меток» можно использовать виджет «Текст», поместив в него HTML-код, выводимый «Облаком меток».

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

2 месяца ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

2 месяца ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

2 месяца ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

2 месяца ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

2 месяца ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

2 месяца ago