Акселератор Opcache PHP и ускорение работы скриптов

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

Как и любое кэширование это позволяет обеспечить экономию ресурсов и — самое важное — сокращение времени загрузки страниц сайта.

 

Акселератор присутствует в РНР версий старше 5.5. При необходимости РНР более ранних версий также можно собрать с его использованием.

 

Кэшируется неизменяемое динамическое содержимое сайта, т.е. скрипты, которые часто не изменяются. При обновлении скрипта кэш сбрасывается, обновленная версия вновь кэшируется.

 

Стандартный алгоритм отдачи контента выглядит как обращение к файлу, его открытие для чтения, компиляцию, отдачу клиенту. Использование Opcache PHP позволяет исключить из процесса компиляцию (за исключением первого обращения к файлу), который является самым ресурсозатратным процессом при обработке любого скрипта.

 

 

Как проверить используется ли opCache

Проверить используется ли модуль можно создав в корне сайта файл, выводящий при обращении к нему из браузера актуальные настройки РНР

 

<?php

phpinfo();

?>

 

Также в консоли можно выполнить следующую команду (следует при этом иметь в виду, что через консоль выполняется PHP процесс, через браузер PHP-CGI и в некоторых случаях результаты могут отличаться )

 

php -i | grep opcache

Непустой вывод будет означать, что модуль используется

 

Применение Opcache PHP может быть очень результативно для проектов, содержащих большое количество РНР скриптов, большая часть которых остается неизменными достаточно долго.

 

В версиях РНР до 5.5 аналогичные opCache функции выполнял модуль APC. Вместо пересборки РНР, что может быть довольно трудозатратно, можно с тем же успехом использовать APC.

 

Читайте также про включение логирования ошибок PHP.

 

Кэширование может производиться не только средствами PHP, но также браузером и веб-сервером.

Запись опубликована автором в рубрике PHP.