Php акселератор apc windows

Php акселератор apc windows

Тот, кто делает сайты на Joomla!, знает на личном опыте, что стоит установить на этот движок несколько компонентов и модулей, как сайт начинает заметно медленней работать. Конечно же, можно включить в админке кеширование, но и это не особо ускоряет работу сайта.

Давайте разберёмся, почему это происходит и как исправить такую ситуацию в лучшую сторону. Joomla!, как и большинство других движков, написана на скриптовом языке программирования PHP. Это значит, что на PHP написаны сценарии (скрипты), в которых описаны последовательности операций для получения какого-либо результата. В нашем случае там прописано, что и как должно работать на сайте. Рассмотрим подробнее, как это работает.

Пользователь заходит на Ваш сайт — в этот момент на сервер из его браузера идёт запрос к странице, которую он запросил. Сервер принимает этот запрос и, если в коде страницы есть PHP код, передаёт этот код в интерпретатор PHP. Задача интерпретатора — принять PHP код и обработать его. Проще говоря, выполнить те последовательности действий, которые описаны в PHP коде. После обработки кода интерпретатор отдаёт результат серверу, а сервер отдаёт этот результат браузеру посетителя в виде HTML кода. При этом каждый раз перед тем, как интерпретатор сможет выполнить PHP скрипт, происходит компиляция этого PHP скрипта в байткод, который и обрабатывается. При этом компиляция кода отнимает некоторое количество ресурсов сервера, а если сайт состоит из большого количества PHP скриптов (в нашем случае это Joomla!), то это создаёт ощутимую нагрузку на сервер.

Напрашивается вывод, что выгоднее было бы сохранять байткод в оперативный памяти. И действительно, для снижения нагрузки от постоянной компиляции одного и того же кода применяют акселераторы PHP. Все они работают по одному принципу: сохраняют в оперативной памяти (либо на диске) уже скомпилированный код. Применение акселератора позволяет ускорить выполнение PHP в несколько раз, а значит, и скорость загрузки страниц сайта тоже возрастёт.

Я покажу установку и базовую настройку одного из таких ускорителей, а именно APC. Кстати я даже где-то читал, что этот акселератор советуют разработчики Joomla! Итак, установим APC на домашний сервер. Для этого выполним в консоли команду

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

И добавим в него строку

Это количество выделенной под кеш памяти в мегабайтах. После сохранения изменений необходимо перезапустить apache:

Теперь давайте проверим работу акселератора. В APC есть полезная опция, позволяющая визуально наблюдать в браузере использование кеша этим акселератором и видеть все его настройки. Для этого нужно закачать в корень сайта файл apc.php (этот файл можно найти в папке, в которой находится apc после установки, либо скачать по ссылке ниже) и обратиться к нему, дописав в браузере к домену сайта имя файла http://ваш-домен.ru/apc.php.

Читайте также:  Как писать драйвер под linux

Вы увидите полную информацию об использовании кеша в наглядном виде (так же, как на этом скриншоте).

Это позволяет отлаживать режимы работы акселератора, подстраивать его под свой проект. После установки на сервер акселератора в Joomla! можно использовать APC в качестве обработчика кеширования. Для этого в общих настройках выберите Alternative PHP Cache.

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

Только зарегистрированные пользователи могут оставлять комментарии.

APC в PHP: Понятие, установка, использование APC

APC – это аббревиатура от Alternative PHP Caching. Русским текстом – это альтернативный PHP кэшер. Для чего он используется? Как и другие популярные кэшеры, такие как XCache и eAccelerator, он используется для увеличения скорости работы PHP скриптов. Если вы имеете собственный сервер, и вас волнуют вопросы быстродействия PHP скриптов, то APC может стать решением вашей проблемы. В сегодняшней статье мы более подробно узнаем о APC, научимся его устанавливать и тестировать, использовать APC кеширование при написании PHP скриптов.

Сегодня мы узнаем

Что такое акселератор APC?

Акселератор APC (Alternative PHP Cache) — бесплатный и открытый opcode кэшер для PHP. Он был задуман, как бесплатный, открытый и стабильный фреймворк для кэширования и оптимизации исходного кода PHP. APC находится на стадии своего развития. На данный момент поддерживает PHP 4 и PHP 5, включая 5.3. Предположительно будет включен в стандартное ядро PHP шестой версии.

Каким образом достигается ускорение работы PHP?

Когда идет задержка загрузки вашего сайта, возникает вопрос – Почему? Дело в том, что при выполнении стандартного обращения к PHP скрипту, каждый раз он компилируется заново. То есть, одна и та же работа делается несколько раз. Если это маленький проект, замедления в работе могут быть незначительными, даже невидимыми. Но если у вас большой проект (сайт), то вы замечали, что при обращении идет задержка загрузки страницы, несмотря на то, что сайт хорошо оптимизирован, в плане сжатия html и сжатия css. Для наглядности, посмотрим, как выполняется стандартный запрос без использования PHP акселераторов:

При этом идут выполнения компиляции кода при каждом запросе. Это отнимает много время на обработку запроса, потому и тормозит. Для обхода этого и придумали акселераторы, представителем которого является APC. Они кэшируют скомпилированный код на диске, после обращения к которому, он выводит результат. Таким образом увеличивается скорость работы PHP. APC может работать в двух режимах, которые настраиваются в файле /etc/php.d/apc.ini, переменная apc.stat. Переменная может принимать значения 1 и 0 (apc.stat=0 или apc.stat=1). При использование режима apc.stat=1 несколько замедляется работа скриптов так, как идет проверка на модификацию файла, но это позволяет избежать проблем, когда код изменен, а выдача результата остается прежней. Поэтому советую поставить значение переменной 1.

После установки акселератора APC, схема выполнения запроса будет следующей:

Установка APC

APC очень простой в установке. Его можно устанавливать как на Debian/Ubuntu, так и на другие дистрибутивы.

Установка APC на CentOS, RHEL, Fedora:

Будем устанавливать через PECL. Сначала подключаем .repo, который содержит актуальный APC. Смотрите пример ниже:

Читайте также:  Marvell 9128 sata 6g controller driver windows 10 64 bit

wget http://rpm.scwlab.com/el/php/yum.conf -O /etc/yum.repos.d/stalwart.repo

yum install php-pecl-apc

Теперь, измените настройки файла /etc/php.d/apc.ini на свой вкус и сделайте рестарт сервера.

Установка APC на Debian, Ubuntu

apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g++

pecl install apc

После загрузки, откройте файл по адресу /etc/php5/apache2/php.ini, добавьте параметр extension=apc.so, и перезапустите сервер.

Как видите, установить APC на Debian или Ubuntu, достаточно просто, нужно набрать в консоли команду sudo aptitude install php-apc. Также можно установить это расширение через synaptic. Если у вас другой дистрибутив, то вы можете установить пакет APC из PECL. Для этого выполните в консоле следующую команду sudo pecl install apc.

Проверка наличия пакета APC

Если в файле настроек php.ini, присутствует строка загрузки пакета extension=apc.so. Или создан файл apc.ini с идентичной строкой, в папке конфигурации расширений PHP. У каждого дистрибутива, он находится по своему адресу. Для Debian, это /etc/php5/apache2/conf.d/.

Если вы проверили и убедились, что все хорошо, перезапустите сервер. Теперь проверим информацию о самом пакете APC. Для этого найдите папку в которой было установлено расширение. В папке вы найдете файл по имени apc.php. Этот файл, также присутствует в архиве установки. Скопируйте его в любую директорию из сайтов вашего сервера. Например, что-бы он был доступен по адресу http://sitear.ru/apc.php. Если пакет был установлен успешно, то при загрузке этого файла, вы увидите следующую таблицу информации о текущем APC пакете.

Использование APC в PHP

Использовать расширение APC при написании PHP кода, очень просто и удобно. Сейчас вы сами убедитесь в этом.

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

classes/apc.caching.php

В классе описано, что делает каждая из функций. Теперь создадим тестовый файл.

index.php

‘; if ($oCache->bEnabled) < // Если APC доступен $oCache->setData(‘my_object’, $aData); // Сохраняем данные в памяти $oCache->setData(‘our_class_object’, $oCache); // Сохраняем объект класса в памяти echo ‘По теории, мы сохранили данные в памяти, нажмите здесь для проверки, действительно ли все там.’; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

В этом файле мы сохранили 2 объекта в память: массив и объект класса. Теперь создадим второй файл.

index2.php

‘; echo ‘Данные из памяти объекта CacheAPC class: ‘; echo ‘Как видите все данные доступны, теперь давайте извлечем их из памяти, для этого идем сюда…’; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

В данном скрипте, мы только читаем информацию из памяти. Как вы видите, вся информация отлично считывается с памяти. Давайте посмотрим последний пример.

index3.php

‘; echo ‘Данные из памяти объекта CacheAPC class: ‘; echo ‘Как видите все данные извлечены из памяти. Ура!’; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

Заключение

Спасибо за ваше внимание! Надеюсь вам было интересно почитать об использовании APC в PHP. Если вы имеете другие представления об использовании APC при написании PHP скриптов, напишите об этом в комментариях.

Ускорение Apache/PHP с помощью APC

Andrey

пишу код за еду

Кэширование — накопление данных в доступном хранилище, с целью их быстрого извлечения по мере надобности. Кэширование ускоряет процесса обработки информации.
APC (Альтернативный PHP кэш) это оптимизированный PHP кэш. Он хранит PHP страницы в оперативной памяти (RAM) и сокращает активность использования жесткого диска. Это делает реальную разницу в производительности HLX:CE, и вы можете достичь 50% увеличения пропускной способности системы и ваш процессор будет занят на 50% меньше.

Читайте также:  Как изменять разрешения файлов windows 10

Это руководство предназначено для установки APC на Windows и Linux серверах. Инструкция была протестирована на Windows XP x64 (XAMPP) и Ubuntu 8.04 LTS x64 сервер, также должны быть подходящими любые другие современные версии Windows и Linux в качестве сервера.

Сначала перед установкой APC, давайте узнаем информацию об установленном у нас PHP5. Для этого мы создадим файл info.php в корневой директории веб-папки сервера C:\xampp\htdocs в windows или /var/www в linux, или там где находиться ваша веб-папка, файл должен содержать следующие строки:

Далее перейдите по адресу (заменив mystats.com на ваш) http://mystats.com/info.php и вы должны увидеть что PHP 5.2.4 установлен.

вы должны посмотреть что APC нигде не упоминается на этой странице.

Установка APC Windows
Сохраните в папке расширений PHP, которая C:\XAMPP\PHP\Ext по умолчанию. Примечание: Убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включить расширение APC в C:\XAMPP\PHP\php.ini файл, отредактировав файл php.ini и добавив следующие строки в раздел расширений:

перезагрузите веб-сервер и снова откройте info.php в браузере http://mystats.com/info.php

Скачайте корректную бинарную версию под windows для версии PHP которая у вас установлена с http://downloads.php.net/pierre/ . Сохраните файл в папку раширений PHP extensions, которая в XAMPP по умолчанию c:\xampp\php\ext. Примечание: убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включите APC расширение в файле c:\xampp\php\php.ini , редактируйте php.ini файл, а именно добавьте следующую строку в секции extensions:

Перезапустите ваш веб-сервер, и снова откройте info.php в браузере http://mystats.com/info.php

Теперь вы должны увидеть APC указанным на странице, что означает, что он успешно интегрирован и работает так, как надо.

Установка APC Linux

APC может быть установлен в Linux с помощью PECL. PECL поставляется вместе с php-pear пакетом, сейчас мы установим его:

Кроме того мы должны установить некоторые APC зависимости, чтобы PECL мог собрать APC:

Теперь когда установлены все зависимости мы можем приступить к установке APC следующим образом:

когда вы увидите:

подтвердите нажатием Enter.

Теперь когда APC установлен, мы создаём файл конфигурации /etc/php5/conf.d/apc.ini. Мы должны по крайней мере добавить строку extension=apc.so там; все остальные параметры конфигурации являются не обязательными. Вы можете найти список всех доступных параметров конфигурации по ссылке http://de2.php.net/manual/en/book.apc.php .

через CTRL+X или CTRL-O сохраните и выйдите из редактора nano.

Вот и всё. Перезапустите Apache и всё готово:

Теперь откройте файл info.php еще раз в вашем браузере http://mystats.com/info.php

Теперь вы должны увидеть APC указанным на странице, что означает, что он успешно интегрирован и работает так, как надо.

Оптимизация APC настроек

Чтобы проверить объем памяти, доступной для использования APC, запустите Editor и создайте текстовый файл с именем apcmeminfo.php. Скопируйте и вставьте следующие строки в этот файл:

в этом случаем мы видим объём доступной оперативной памяти, что составляет примерно 32Mb. (33.554.344 b / 1.000.000 = 33,55 MB)

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