APC (Alternative PHP Caching – это Альтернативный ПХП Кешер, руководство по использованию на английском языке). Входит в число трех наиболее популярных способов кеширования опкодов для выполненных php скриптов. Его ближайшими конкурентами являются XCache и eAccelerator. О последнем я уже писал недавно на этом блоге, а статья об XCache, который имеет несколько очень существенных преимуществ перед конкурентами, будет опубликована здесь в ближайшее время. Короче говоря, APC это еще один способ повысить быстродействие вашего сайта в том случае если он расположен на вашем сервере, вы являетесь админом своего хостинга и вас волнуют вопросы быстродействия размещенных на нем сайтов…
Установка APC
Одним из основных преимуществ APC является его простота установки. Если вы являетесь пользователем Debian/Ubuntu, то вполне вероятно что для установки вам будет достаточно набрать в консоли команду sudo aptitude install php-apc или установить этот пакет через synaptic. Если вы используете другой дистрибутив, или по какой-то причине не можете установить “родной” deb-пакет, то у вас есть другой путь – установка из PECL. Для этого нужно набрать команду: sudo pecl install apc, которая скачает нужные архивы из сети, распакует, откомпилирует и установит полученный файл apc.so в нужную директорию.
Проверка установки APC
Во-первых, проверьте что строчка загрузки расширения extension=apc.so действительно прописалась в php.ini (или создан файл apc.ini с этой строчкой в папке с конфигами расширений php – зависит от вашего дистрибутива. Для Debian, например, этой папкой будет /etc/php5/apache2/conf.d/
Если строчка успешно найдена/добавлена, то перезапускаем сервер apache и переходим к проверке самого расширения. Для этого находим папку в которую было установлено расширение. В этой папке будет лежать файл apc.php (файл так же можно взять в архиве установки), копируем его в public директорию любого из сайтов на этом веб-сервере и заходим браузером по адресу https://сайт/apc.php. Если расширение было установлено корректно, то вы увидите на загруженной странице статистику по APC (скриншоты приведены ниже).
Общая информация об APC
Подробная информация об APC
Информация о хосте
Замеры изменения производительности
Для проверки была выбрана CMS Joomla1.5.9 с демонстрационным набором данных после установки и с шаблоном дизайна по умолчанию. При тестировании производительности при помощи утилиты ab2 (было выполнено 1000 обращений к главной странице сайта в 5 потоков) скорость генерации страниц увеличилась на 40%
Недостатки APC
Объективности ради отмечу и недостатки APC…
- отсутствует поддержка FastCGI
- кеширование работает только с модулем apache mod_php (в режиме cli ускорения не будет)
- работает с версиями PHP<=5.2 С версией 5.3 отмечаются проблемы, а что касается 6.0 — будущее совсем туманно. Возможно какой-то механизм кеширования будет интегрирован в само ядро…
Заключение
По-моему стоит установить APC на своем веб-сервере и попробовать – подойдет ли оно именно вам. Несмотря на ряд описанных выше ограничений APC считается наиболее надежным из тройки основных реализаций кеширования для языка PHP…
https://phpcoder.ws/2009-02/apc-setup.html
Устранение ошибок установки
связанные с файлами libtool.m4, ltmain.sh можете перезалить в ручную в папку
/usr/lib/php5/build
https://proggear.ru/images/2011/11/build.zip
Вторая ошибка
Hy when i try to install APC via pecl install APC-3.1.5 or even pecl install APC I get following error when the package comes to the make command:
Can someone help me out with this???? I installed all posible mising things… like |
Простое решение установка
apt-get install libpcre3-dev
МОй файл с настройками /etc/php5/conf.d/apc.ini
extension=apc.so
apc.enabled=»1″
apc.shm_segments=»1″
apc.shm_size=»64M»
apc.ttl=»7200″
apc.user_ttl=»7200″
apc.num_files_hint=»1024″
apc.mmap_file_mask=»/tmp/apc.XXXXXX»
apc.max_file_size = «256M»
apc.post_max_size = «256M»
apc.upload_max_filesize = «256M»
apc.enable_cli=»1″
apc.rfc1867=»1″
Просмотров: 2916
Я вот установил такой, и все бы ок, но есть одна проблема!
Работает все это дело с mod-fcgid, и вопреки настройкам кешера, кеш сбрасывается примерно каждые два часа, ибо fcgi имеет свойство периодически убивать процессы… И это очень пичально 🙁
Кто знает, как это побороть?
Вам нужно установить время жизни кеша в настройках php apc.ttl и apc.user_ttl, указывайте время в милисекундах
В файле /etc/php5/conf.d/apc.ini
extension=apc.so
apc.enabled="1"
apc.shm_segments="1"
apc.shm_size="64M"
apc.ttl="7200"
apc.user_ttl="7200"
apc.num_files_hint="1024"
apc.mmap_file_mask="/tmp/apc.XXXXXX"
apc.max_file_size = "256M"
apc.post_max_size = "256M"
apc.upload_max_filesize = "256M"
apc.enable_cli="1"
apc.rfc1867="1"