user gravatar

Правильная настройка PHP APC

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

Кроме PHP APC существует еще много других альтернатив. Например: xcache.

1. Установка PHP APC

Установить APC можно просто с репозиториев. Он доступен практически во всех дистрибутивах Linux: Fedora, CentOS, Red Hat, Debian, Ubuntu... Я сам использую Debian, так что покажу на примере него:

sudo apt-get install php-apc

2. Настройка APC для кеширования

Для настройки первым делом нужно найти где находится apc.ini файл:

updatedb && locate apc.ini

Обычно он находится по пути /etc/php5/mods-available/apc.ini. Откройте этот файл для дальнейшего редактирования:

sudo vim /etc/php5/mods-available/apc.ini

Самый важный момент - это включить модуль APC (если он еще не включен). Для этого пишите в файл:

extension=apc.so
apc.enabled=1
apc.shm_segments=1

Выделение памяти для APC

Оперативную память для APC следует выделять основываясь на объеме доступного на сервере RAM. Обычно 128-ти мб. достаточно для простого бложика, советую сначала установить на это значение, а затем, исходя от потребностей можете увеличить его:

apc.shm_size=128M

## если вам нужны гигабайты
apc.shm_size=2G

Выделите время для кеширования

Имейте в виду, что время в конфигах указываются в секундах:

## Время для кеширования PHP файлов - 1 час
apc.ttl=3600

## Время кеширования переменных и т.д.
apc.user_ttl=7200

## Сборка мусора через каждый час
apc.gc_ttl=3600

Максимальный размер кешируемых файлов

Обычно кешировать только маленькие по размеру файлов - это мудрое решение. Поэтому советую установить здесь значение в 1мб.

apc.max_file_size=1M

Настройка значения APC stat

Значение apc.stat указывает нужно ли при каждом запуске определенного скрипта проверять время его модификации. Если у вас продакшн сервер, плюс вы редко модифицируете PHP скрипты, то можно отключить эту проверку, так-как это немного снизит обращение к жесткому диску.

## По умолчанию включен
apc.stat=1

## Если вам нужно отключить проверку
apc.stat=0

4. Перезагрузите веб-сервер

Не забудьте после изменении настроек перезагрузить ваш веб-сервер.