Более или менее крупные проекты содержат объемный PHP код, выполнение которого занимает заметное время. При этом одни и те же алгоритмы выполняются множественно, что с точки зрения использования аппаратных ресурсов выглядит не совсем рационально. Для этих целей были придуманы так называемые акселераторы PHP – это специальное расширение, которое служит для увеличения производительности интерпретатора PHP, при обработке скриптов, за счет кэширования их скомпилированного байт-кода.
Существуют множество расширений, выполняющие роль акселератора PHP, в данной заметке мы попробуем установить одно из популярных расширений — APC, на Linux CentOS с веб-сервером Apache.
APC (Alternative PHP Cache) – бесплатное расширение с открытым исходным кодом, созданное для кэширования и оптимизации работы исходных кодов PHP.
Для установки мы воспользуемся репозиторием Remi:
# yum --enablerepo=remi install php-pecl-apc
После успешной инсталляции, необходимо задать параметры для акселератора, в файле /etc/php.d/apc.ini. Откроем конфигурационный файл в редакторе vi:
# vi /etc/php.d/apc.ini
Выставляем следующие параметры:
# кэширование apc.enabled=1 # значение кол-ва сегментов кэша в памяти apc.shm_segments=1 # размер сегмента apc.shm_size=256M # время жизни кэша apc.ttl=3600 # максимальных объем файлов apc.max_file_size=1M # проверять изменения файла (при обращении к нему) apc.stat=1
Данные параметры приведены для примера. Обратите внимание на то, что APC нужно конфигурировать, опираясь на аппаратные ресурсы своего сервера. Неправильная конфигурация может привести к нестабильной работе APC.
Можно мониторить состояние кэша APC воспользовавшись утилитой apc.php, которая прилагается к дистрибутиву. Его достаточно скачать и закинуть в публичную директорию сервера.
Когда имеет смысл ставить акселератор APC?
Если сервер испытывает значительные нагрузки, одной из причин которых является исполнение php-кода скриптов, то в этом случае есть смысл задуматься об инсталляции акселератора на свой сервер.