Вопрос или проблема
У меня есть большой сайт с несколькими плагинами, которые занимают память, создают много запросов к серверу и т. д. Я использовал все свои возможности хостинга, чтобы помочь с этим, но существуют ли оптимальные настройки PHP и WordPress для больших тяжелых сайтов или просто оптимальные базовые настройки PHP для WordPress в целом.
Вот мои текущие настройки:
allow_url_fopen = Отключено
allow_url_include = Отключено
display_errors = Включено
enable_dl = Отключено
file_uploads = Включено
max_execution_time = 600
max_input_time = 400
max_input_vars = 10000
memory_limit = 128M
session.save_path = (пусто)
upload_max_filesize = 2M
С точки зрения WordPress настройки производительности не требуют много конфигураций. Вы можете установить define( 'WP_DEBUG', false );
в ваш wp-config.php
, чтобы отключить ведение журналов, что даст вам небольшую экономию ресурсов.
Кроме того, я рекомендую постараться оптимизировать ваши более тяжелые плагины, снизить количество запросов, если это возможно, и оптимизировать ваши запросы.
Вы можете взглянуть на плагины, такие как Debug Bar, чтобы понять, что может занимать больше всего ресурсов при каждом запросе, а такие сервисы, как New Relic, могут предоставить более глубокие данные о том, что происходит с вашим сервером в целом.
Если у вас нет убедительной причины (например: IP-геолокация, активное использование динамических функций членства) обрабатывать каждый запрос с помощью PHP, вам нужен плагин для статического кэширования HTML, чтобы поддерживать приемлемую производительность на общем хостинговом плане.
Вот несколько популярных плагинов для генерации статического HTML в произвольном порядке:
Статическое кэширование HTML уменьшит нагрузку на процессор и использование памяти – однако все равно может возникнуть необходимость оптимизации производительности фронтенда (оптимизация изображений, минификация Javascript и CSS и т. д.), тем не менее, вы найдете параметры конфигурации для некоторых из этих функций в упомянутых мной плагинах (рекомендую быстро просмотреть документацию) и специализированные плагины для оптимизации изображений.
Примечание: Только что наткнулся на еще один бесплатный плагин, который делает вещи немного иначе – если ваш сайт не позволяет регистрацию пользователей и не зависит от динамической функциональности, вам, вероятно, будет удобнее использовать WP Static Site Generator (который нацелен на избежание необходимости в парсинге PHP или затратах на базу данных).
Ответ или решение
Оптимизированные настройки PHP и WordPress для увеличения скорости и производительности
Когда речь идет о производительности больших и нагруженных сайтов на WordPress, правильная конфигурация как самой платформы, так и серверных настроек PHP может значительно улучшить скорость и отзывчивость. Ниже приведены несколько рекомендаций, которые помогут вам оптимизировать ваш сайт.
1. Настройки PHP
Ваши текущие настройки PHP требуют пересмотра, особенно в контексте использования WordPress. Вот основные параметры, которые следует изменить для повышения производительности:
-
memory_limit = 256M: Увеличение лимита памяти позволит более эффективно обрабатывать ресурсоемкие плагины.
-
max_execution_time = 300: Поскольку многие процессы могут занимать больше времени, разумно установить этот параметр ниже 600, чтобы избежать зависания.
-
upload_max_filesize = 20M: Увеличив размер загружаемых файлов, вы обеспечите лучшее взаимодействие с мультимедийным контентом.
-
post_max_size = 20M: Подобно
upload_max_filesize
, это позволяет загружать большие посты и медиафайлы.
Пример обновленных настроек:
allow_url_fopen = Disabled
allow_url_include = Disabled
display_errors = Disabled
enable_dl = Disabled
file_uploads = Enabled
max_execution_time = 300
max_input_time = 300
max_input_vars = 10000
memory_limit = 256M
session.save_path = (blank)
upload_max_filesize = 20M
post_max_size = 20M
2. Оптимизация WordPress
В WordPress есть множество способов оптимизировать производительность:
-
Отключите отладку: Убедитесь, что
define( 'WP_DEBUG', false );
установлен в вашем файлеwp-config.php
. Это позволит уменьшить нагрузку на сервер. -
Оптимизация плагинов: Выявите ресурсоемкие плагины, используя инструменты, такие как Debug Bar или аналогичные. Возможно, некоторые плагины можно заменить на более легкие аналоги.
-
Кэширование статического HTML: Используйте кэширование для снижения нагрузки на CPU и память. Рекомендуемые плагины:
Эти плагины позволяют генерировать статические HTML-страницы, значительно ускоряя загрузку вашего сайта.
- Минификация и оптимизация: Используйте плагины для минификации CSS и JavaScript, а также оптимизации изображений. Это поможет уменьшить объем передаваемых данных и ускорить загрузку страницы.
3. Использование инструмента для мониторинга
Инструменты, такие как New Relic, предоставляют подробную аналитику производительности, позволяя выявлять узкие места в производительности как на уровне сервера, так и на уровне приложений.
4. Рассмотрите статические генераторы
Если ваш сайт не требует динамического контента, стоит подумать о использовании плагина, такого как WP Static Site Generator. Этот инструмент помогает избежать обработки запросов через PHP, что значительно снизит нагрузку на сервер.
Заключение
Оптимизация настроек PHP и WordPress для больших сайтов — это непрерывный процесс, требующий постоянного мониторинга и корректировки. Правильные настройки и стратегии позволят вашему сайту работать эффективнее, обеспечивая пользователям лучший опыт. Следуя представленным рекомендациям, вы сможете значительно улучшить производительность вашего веб-ресурса. Не забывайте регулярно проверять производительность и вносить изменения по мере необходимости, чтобы поддерживать сайт на высоком уровне.