Использование opcache в php
Акселератор php
Акселератор php - это расширение для увеличения производительности интерпретатора при обработке сценария путем кэширования байт-кода сценария
Обработка сценария на PHP обычным интерпретатором:
чтение файла;
генерация байт-кода;
выполнение кода;
выдача результата.
При обработке сценария php большую часть времени отнимает процесс генерации байт-кода
Акселератор php кэширует скомпилированный байт-код в памяти для повторного обращения, тем самым в несколько раз увеличивает производительность
Для php есть встроенный модуль OPcache, его можно скомпилировать при сборке указав --enable-opcache или установить с помощью менеджеров пакетов php-opcache
Рекомендованные настройки php.ini
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1 ; до PHP 7.2.0
opcache.enable_cli=1
opcache.memory_consumption - (значение по умолчанию 64) — размер используемой памяти (в мб.) для хранения прекомпилированного PHP-кода
opcache.interned_strings_buffer - (значение по умолчанию 4) — количество памяти для пула строк в мегабайтах
opcache.max_accelerated_files - (значение по умолчанию 2000) — максимальное количество ключей в хэш-таблице OPcache
opcache.max_wasted_percentage - (значение по умолчанию 5) — максимальный процент замусоренной памяти для запланированного перезапуска
opcache.use_cwd - (значение по умолчанию 1) — при включении добавляет текущую рабочую директорию в ключ скрипта для предотвращения возникновения колизий между файлами с одинаковым именем
opcache.validate_timestamps - Если включено, OPcache будет проверять актуальность закешированных скриптов каждые opcache.revalidate_freq секунд. Когда запрещено, вы можете перезапустить OPcache вручную с помощью opcache_reset(), opcache_invalidate() или перезапустив веб-сервер для того, чтобы изменения вступили в силу.
opcache.error_log string - Лог ошибок OPcache. Пустая строка считается как stderr, и ошибки будут выведены в стандартный поток ошибок (в большинстве случаев это лог ошибок веб-сервера).
opcache.log_verbosity_level int - Уровень подробности лога ошибок. По умолчанию будут записываться только фатальные ошибки (уровень 0) и ошибки (уровень 1). Также значения могут быть следующими: предупреждения (уровень 2), информационные сообщения (уровень 3) и сообщения отладки (уровень 4)
Источник1: https://www.hostcms.ru/documentation/server/opcache/#:~:text=Opcache.memory_consumption%20(значение%20по%20умолчанию%2064),для%20пула%20строк%20в%20мегабайтах
Источник2:
https://www.php.net/manual/ru/opcache.configuration.php
Источники
Здесь пока нет комментариев