Ускоряем сайты с помощью apc

PHP
Чтобы сайт открывался максимально быстро мечтают все, но не все знают, что есть довольно простые способы сделать это. Например APC о котором мы и поговорим.

APC расшифровывается как The Alternative PHP Cache — бесплатный и открытый opcode кэшер для PHP. Он был задуман, как бесплатный, открытый и стабильный фреймворк для кэширования и оптимизации исходного кода PHP, так же возможно кэширование пользовательских данных. Данный проект живет и развивается. Поддерживает PHP4 и PHP5, включая 5.3 и 5.4. А также ходят слухи что его включат в PHP 6.

Одним из основных преимуществ APC является его простота установки. Если вы являетесь пользователем Debian/Ubuntu, то вполне вероятно что для установки вам будет достаточно набрать в консоли команду:
apt-get install php-apc


Проверка установки APC

Во-первых, проверьте что строчка загрузки расширения extension=apc.so действительно прописалась в php.ini (или создан файл apc.ini с этой строчкой в папке с конфигами расширений php – зависит от вашего дистрибутива.

Если строчка успешно найдена/добавлена, то перезапускаем сервер apache (nginx,php-fpm) и переходим к проверке самого расширения. Для web мониторинга есть специальный файл apc.php, копируем его в public директорию любого из сайтов на этом веб-сервере и заходим браузером по адресу ваш_сайт/apc.php. Если расширение было установлено корректно, то вы увидите на загруженной странице статистику по APC.

apc php stat

Также в phpinfo() появится информация о установленном apc.

APC в действии
Попробуем apc в действии, для тестирования мы взяли сайт на движке livestreet.
Никакие самописных скриптов для теста производительности, просто посмотрим статистику которую выдает сам livestreet измеряя свое быстродействие.

1. Обычный сайт, настройки по умолчанию, кеширование в настройках livestreet отключено
$config['sys']['cache']['use'] = false; // использовать кеширование или нет
apc не установлен.
apc livestreet

2. Этот же сайт с теми же настройками по умолчанию, но тут уже установлен и включен apc
apc livestreet

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

К недостаткам apc можно отнести то что этот модуль работает только с php-fpm и mod_php, т.е. в режиме cgi он работать не будет.

0 комментариев

Оставить комментарий