SebWeo.com
Если вы когда-либо интересовались, как ускорить свой сайт на WordPress, вы, наверное, слышали о «кешировании». Обычно речь идет о кешировании страниц, когда плагин сохраняет готовую HTML-копию страницы. Но существует другой, более глубокий уровень кеширования, который работает до того, как эта HTML-страница вообще будет создана. Речь об OPcache.
По моему мнению, включенный и правильно настроенный OPcache — это самая эффективная оптимизация, которую вы можете сделать на стороне сервера. В этой статье я объясню, что это за технология, как она кардинально меняет работу PHP, и как ее настроить для вашего сайта.
Когда пользователь заходит на ваш сайт, веб-сервер (например, Nginx) передает запрос PHP-обработчику, о котором мы говорили в статье о FastCGI и PHP-FPM. Чтобы выполнить index.php
, PHP делает 4 шага:
.php
файл с диска.На сайте WordPress при каждой загрузке страницы загружаются десятки файлов (ядро, тема, плагины). И этот 4-этапный процесс происходит для каждого файла при каждом запросе. Это огромная, бесполезная работа.
OPcache — это расширение PHP, которое сохраняет уже скомпилированные опкоды в общей памяти.
Когда поступает первый запрос:
Когда поступает второй и все последующие запросы:
Мы пропускаем три из четырех шагов! PHP больше не тратит время на чтение файлов с диска и их компиляцию. Он мгновенно берет готовый «рецепт» из памяти. Это драматически снижает нагрузку на процессор и ускоряет время генерации страницы (TTFB).
OPcache — это не то же самое, что плагины кеширования страниц (WP-Rocket, W3 Total Cache). Они работают на разных уровнях:
Они не заменяют, а идеально дополняют друг друга. Даже когда вам нужно сбросить кеш страниц, OPcache продолжает работать, и страница сгенерируется намного быстрее. Для админ-панели WordPress, которая обычно не кешируется, OPcache — это просто спасение.
php.ini
В большинстве современных версий PHP, OPcache уже встроен и включен по умолчанию. Но его настройки «из коробки» не всегда оптимальны. Нам нужно найти наш файл php.ini
. (Если вы не знаете, где он, вспомните нашу статью об установке PHP).
Откройте php.ini
и найдите секцию [opcache]
. Вот рекомендуемые настройки, которые я использую:
; Включаем OPcache opcache.enable=1 ; Включаем OPcache для консольных скриптов opcache.enable_cli=1 ; Выделяем 128 МБ памяти под кеш опкодов opcache.memory_consumption=128 ; Сколько файлов можем хранить в кеше (подберите под свой проект) opcache.max_accelerated_files=10000 ; Включаем проверку актуальности файлов opcache.validate_timestamps=1 ; Как часто проверять файлы на изменения (в секундах) opcache.revalidate_freq=5
Настройки выше идеально подходят для разработки (Development), так как opcache.revalidate_freq=5
заставляет PHP проверять файлы на изменения каждые 5 секунд. Вы можете редактировать код и сразу видеть изменения.
Для боевого сервера (Production), где код не меняется ежеминутно, я рекомендую установить opcache.revalidate_freq=60
(или даже выключить opcache.validate_timestamps=0
). Это даст максимальную производительность, так как PHP вообще не будет обращаться к диску для проверки файлов. Но помните: после обновления плагинов или темы вам придется перезапустить PHP-FPM, чтобы сбросить кеш.
Это очень просто. Создайте в корне вашего сайта файл info.php
со следующим содержимым:
<?php phpinfo(); ?>
Откройте этот файл в браузере (https://your-site.com/info.php
) и нажмите Ctrl+F
, чтобы найти «OPcache». Вы должны увидеть целый блок, посвященный этому расширению. Главная строка — opcache.enable
, которая должна стоять в позиции «On«. И/или значение «Up and Running» должно быть для строки «Opcode Caching«.
Вы также увидите статистику: количество «hits» (попаданий в кеш) и «misses» (промахов). На рабочем сайте процент попаданий должен быть очень высоким (99%+).
Важно: Не забудьте удалить файл info.php
после проверки, так как он раскрывает много информации о вашем сервере.
По моему мнению, запускать WordPress-сайт без включенного OPcache в 2025 году — это просто преступление против производительности. Это встроенный в PHP механизм, который не стоит вам ничего, но дает мгновенный и существенный прирост скорости.
Проверьте настройки своего сервера. Убедитесь, что OPcache не просто включен, а оптимально настроен. Это тот самый «легкий» тюнинг, который превращает ваш сайт из просто рабочего в действительно быстрый.
Дополнительное улучшение: использовать еще и Varnish-кэширование. Varnish берет обработанную страницу OPcache, отдает ее посетителю и сохраняет копию у себя в кэше для следующих посетителей. Если готовая страница есть в кэше Varnish: он мгновенно отдает ее и все, — дальше запрос не идет. Результат: посетители получают ответ мгновенно. Нагрузка на веб-сервер, PHP и базу данных равна нулю для закэшированных страниц. Подробнее о технологии в нашем обзоре Varnish.
Когда мы говорим о веб-разработке, первое, что приходит на ум — это HTML и CSS.…
В мире SEO есть фраза, которую повторяют так часто, что она уже стала клише: "Content…
Создание бизнеса — это как рождение ребенка. Вы вкладываете в него душу, время и деньги.…
Когда вы только начинаете работать с PHP, кажется, что все просто: вы пишете код, веб-сервер…
Многие начинающие разработчики на Windows начинают свой путь с пакетов типа XAMPP, WampServer или Laragon.…
Когда вы устанавливаете WordPress, он любезно предоставляет вам стандартную страницу регистрации по адресу wp-login.php?action=register. Она…