Archive

Posts Tagged ‘apc’

Устанавливаем акселлератор APC на CentOS+Apache

August 3rd, 2011

Если у вас нагруженное веб-приложение и тесты показывают, что одно из узких мест это исполнение php-кода, то имеет смысл установить PHP-акселлератор. Один из лучших это APC от разработчиков самого PHP. Принцип его работы такой: он держит скомпилированный код php-файлов в памяти и при повторном обращении быстро его отдает.
Устанавливаем его из репозитория Remi:

yum --enablerepo=remi install php-pecl-apc

Теперь смотрим конфиг /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 не будет проверять не изменился ли файл при обращении к нему.
apc.stat=1

Для каждого сервера надо подбирать свои параметры размера блока и срока устаревания кэша. Потому как иногда при заполнении памяти APC может падать с ошибкой “unable to allocate memory for pool” подробнее читать тут.
Для мониторинга состояния кэша APC удобно использовать прилагаемую к дистрибутиву утилиту apc.php. Просто скачиваете дистр и кладете файлик в любой виртуалхост.

php ,