PHP Opcache - увеличиваем производительность web-сервера

PHP – это широко распространенный язык сценариев на стороне сервера, известный своей эффективностью в веб-разработке. Однако по мере роста сложности веб-приложений оптимизация производительности приобретает решающее значение.

Одним из наиболее эффективных способов повышения производительности PHP является использование Opcache, который кэширует скомпилированный байткод PHP-скриптов, снижая накладные расходы на загрузку и разбор скриптов при каждом запросе.

В этой статье вы узнаете, как установить и настроить Opcache для ускорения и оптимизации работы PHP в системе Linux.

Что такое Opcache?

Opcache – это встроенный механизм кэширования опкодов для PHP, который хранит скомпилированный байткод PHP-скриптов в общей памяти.

Когда выполняется PHP-скрипт, Opcache проверяет, доступна ли его скомпилированная версия в памяти. Если да, то Opcache обходит этапы парсинга и компиляции, что приводит к ускорению выполнения скрипта.

Это значительно улучшает время отклика и снижает нагрузку на сервер, что делает его незаменимым инструментом для оптимизации PHP-приложений.

Установка Opcache в Linux

Перед установкой рекомендуется обновить репозиторий пакетов, чтобы убедиться, что у вас есть последняя информация о пакете.

sudo apt update  [On Debian/Ubuntu]
sudo dnf update  [On RHEL/CentOS]

Если вы используете систему на базе Debian, например Ubuntu, вы можете установить Opcache с помощью пакета php-opcache.

sudo apt install php-opcache

Если вы используете систему на базе Red Hat, например CentOS, вы можете установить Opcache с помощью следующей команды:

sudo yum install php-opcache

После установки Opcache вы можете проверить его установку, выполнив следующую команду:

php -m | grep opcache
OR
php -i | grep opcache

Если в результатах вы увидите opcache, это означает, что Opcache успешно установлен.

Настройка Opcache в Linux

После установки Opcache вам нужно настроить его в конфигурационном файле PHP (php.ini) в следующих местах, в зависимости от вашей установки.

Вы можете найти местоположение вашего файла php.ini, выполнив команду:

php --ini

Для редактирования файла конфигурации используйте текстовый редактор (например Nano):

sudo nano /etc/php.ini

Добавьте или измените следующие настройки Opcache:

; Enable Opcache
opcache.enable=1
; Set the memory size for the Opcache (e.g., 128MB)
opcache.memory_consumption=128
; Set the maximum number of scripts to cache
opcache.max_accelerated_files=10000
; Set the cache validity time in seconds
opcache.revalidate_freq=2
; Enable file validation for updated scripts
opcache.validate_timestamps=1
; Set the timeout for a request before it is terminated
opcache.max_file_size=2M
; Enable opcache for the CLI
opcache.enable_cli=1

Пояснения к настройкам:

  • opcache.memory_consumption: Объем памяти, выделенный для Opcache. Вы можете настроить это значение в зависимости от объема ОЗУ вашего сервера.
  • opcache.max_accelerated_files: Максимальное количество PHP-скриптов, которые Opcache будет кэшировать.
  • opcache.revalidate_freq: Частота (в секундах), с которой Opcache проверяет обновления скриптов.
  • opcache.validate_timestamps: Если включено, Opcache проверяет изменения в скриптах и аннулирует кэшированные скрипты, если они изменились.
  • opcache.enable_cli: Включает Opcache для интерфейса командной строки.

После внесения изменений сохраните файл и перезапустите веб-сервер Apache, чтобы изменения вступили в силу.

sudo systemctl restart apache2
OR
sudo systemctl restart httpd

Если вы используете Nginx, используйте:

sudo systemctl restart nginx

Тестирование Opcache в Linux

Чтобы убедиться, что Opcache работает правильно, вы можете создать PHP-файл (info.php) со следующим содержимым в корне документа вашего веб-сервера (например, /var/www/html/).

<?php
phpinfo();
?>

Обратитесь к этому файлу через веб-браузер:

http://your_server_ip/info.php

Найдите в выводе секцию Опкод Кэширования. Если Opcache установлен и настроен правильно, вы должны увидеть информацию о настройках Opcache.

Мониторинг Opcache в Linux

Для мониторинга производительности Opcache вы можете использовать различные инструменты, такие как opcache-gui, для визуализации статистики кэша.

git clone https://github.com/amnuts/opcache-gui.git
sudo mv opcache-gui /var/www/html/

Доступ к графическому интерфейсу можно получить в браузере:

http://your-server-ip/opcache-gui

Кроме того, вы можете использовать инструменты командной строки для получения подробной информации о производительности кэша. Например, чтобы посмотреть состояние Opcache из командной строки, можно использовать следующую команду:

php -i | grep opcache

Эта команда отобразит информацию, связанную с Opcache, включая использование памяти и количество обращений к кэшу.

Заключение

Установка и настройка Opcache – это простой процесс, который может значительно улучшить ваши PHP-приложения, уменьшив накладные расходы на выполнение скриптов и позволив вашему веб-серверу эффективно обрабатывать больше запросов, что приведет к ускорению времени отклика и улучшению работы пользователей.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)