Php apc что это

Установка Alternative PHP Cache (APC) на сервер Ubuntu 12.04

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

В этом случае на помощь приходит APC, или Alternative PHP Cache. Этот инструмент сохраняет код PHP в операционной памяти и при необходимости извлекает его. В сущности, он обходит обработку и компиляцию кода, что позволяет свести к минимуму нагрузку на сервер.

Данное руководство продемонстрирует установку и настройку APC.

Примечание: Для выполнения руководства нужен предварительно настроенный сервер Ubuntu 12.04 с привилегиями root, а также стек LAMP.

Установка APC

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

sudo apt-get install php-pear php5-dev make libpcre3-dev

Затем можно установить APC при помощи команды pecl:

При этом появится ряд вопросов; рекомендуется просто нажать Enter, чтобы установить стандартные настройки.

В завершение установки нужно отредактировать файл php.ini:

sudo nano /etc/php5/apache2/php.ini

добавив в конец следующую строку:

Сохраните и закройте файл, а затем перезапустите Apache:

sudo service apache2 restart

Чтобы узнать, включён ли APC, откройте info-страницу PHP. Если таковой нет, создайте пустой php-файл в папке /var/www:

И внесите в него такой код:

Сохраните и закройте файл, а затем откройте браузер. На экране появится вся информация о текущей установке PHP. Если APC включён, страница сообщит об этом. В целом, оставлять этот файл не рекомендуется, так как он может предоставить доступ к конфиденциальным данным посторонним пользователям. Удалите его после выполнения проверки.

Читайте также:  Class object java методы

Настройка APC

После установки кэшер APC запускается с настройками по умолчанию. В его конфигурациях есть две очень важные настройки. Итак, откройте файл php.ini:

sudo nano /etc/php5/apache2/php.ini

Под ранее добавленной строкой, которая включает APC, внесите следующую строку:

Это выделит 64MB оперативной памяти для кэширования APC. В зависимости от требований или ограничений виртуального выделенного сервера это значение может изменяться.

Ниже нужно добавить ещё одну строку:

Настройка apc.stat проверяет скрипт при каждом запросе, чтобы проверить его на изменения. Если он был изменён, она повторно скомпилирует его и кэширует новую версию. Это стандартное поведение APC. Значение 0 в этой строке скажет APC не проверять скрипт на наличие изменений. Это улучшает производительность, но есть и обратная сторона: если в скрипте PHP появились изменения, они не будут внесены до перезапуска облачного сервера. Поэтому устанавливать значение 0 рекомендуется только на сайтах, которые находятся на стадии производства.

Теперь, когда кэшер APC установлен и запущен, можно проверить его состояние и производительность. Найдите файл apc.php в папке /usr/share/php/ и переместите его в папку, доступную для браузера – к примеру, в www:

cp /usr/share/php/apc.php /var/www

Откройте этот файл в браузере:

На экране появится статистика APC. Обратите внимание: APC располагает достаточным объёмом памяти для хранения своих данных.

Кроме того, хорошим показателем работы APC является то, что Hits rate значительно выше, чем Misses rate; в противном случае нужно выполнить дополнительную настройку кэшера.

Заключение

Акселератор APC очень прост в установке и использовании. Чтобы повысить производительность сайта, установите Memcache или Varnish.

Источник

ускорение сайта с помощью php-apc

Еще один способ ускорить ваш сайт, работающий на PHP — использовать расширение php-apc.

Читайте также:  Название документа

Это раширение PHP для кэширования и оптимизации промежуточного кода. Кроме того оно кэширует уже откомпилированный код. Таким образом, при повторном обращении к php-скрипту он не будет тратить время на чтение с диска, а также на компиляцию. Наш сервер работает на Debian, используя стандартный PHP и Apache, установленные из репозиториев, поэтому будем рассматривать установку расширения php-apc в этом дистрибутиве.

aptitude install php53-apc aptitude install php-apc 
echo " [APC] extension=apc.so apc.enabled=1 apc.shm_segments=1 apc.shm_size=32 // -- количество памяти под кэш, в МБ. apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/tmp/apc.XXXXXX apc.max_file_size = 200M apc.post_max_size = 200M apc.upload_max_filesize = 200M apc.enable_cli=1 apc.rfc1867=1" >> /etc/php5/apache2/php.ini 
  • apc.enabled – использовать apc или нет.
  • apc.shm_segments – количество сегментов shared memory, которые будет использовать apc. Некоторые системы имеют ограничение на максимальный размер сегмента, поэтому можно настроить apc на использование нескольких сегментов.
  • apc.shm_size – размер одного сегмента shared memory, используемого apc.
  • apc.ttl – сколько секунд должны отсутствовать обращения к записи кэша прежде, чем apc перезапишет ее.
  • apc.user_ttl – по описанию тоже самое, что и apc.ttl. Обычно устанавливается равным apc.ttl.
  • apc.stat – указывает, нужно ли apc проверять время модифицирования php-скрипта. Если установить в 0, то apc не будет проверять изменения на диске и будет выдавать кэшированную копию.
---------------------------------------------------------------------- date uptime dns connect request ttfb ttlb 2012-02-21 97.94 0.090 0.208 0.208 0.689 0.799 2012-02-20 100.00 0.042 0.159 0.159 0.612 0.719 2012-02-19 97.94 0.037 0.395 0.395 0.897 1.187 2012-02-18 97.94 0.072 0.274 0.274 1.106 1.479 
---------------------------------------------------------------------- date uptime dns connect request ttfb ttlb 2012-03-22 100.00 0.013 0.113 0.114 0.320 0.516 2012-03-21 100.00 0.015 0.115 0.115 0.318 0.514 2012-03-20 100.00 0.012 0.112 0.112 0.315 0.511 2012-03-19 100.00 0.012 0.111 0.112 0.315 0.511 

Источник

Оцените статью