Установка PHP eAccelerator на сервер под Centos
Акселератор PHP - программа ускоряющая исполнение сценариев PHP интерпретатором путем кэширования их байткода.
Принцип работы.
Обработка сценария на PHP обычным интерпретатором:
- Чтение файла
- Генерация байткода
- Выполнение кода
- Выдача результата
Большую часть времени отнимает генерация байткода, которая выполняется каждый раз. Для избежания данных проблем и был разработаны модули, которые кэшируют скомпилированный байт-код на диск и/или в память, чем увеличивают производительность PHP в несколько раз. Называются данные модули - акселераторы PHP.
Существующие решения.
eAccelerator — проект который находится в свободном доступе и который выполняет роль PHP акселератора, а также распаковщика и оптимизатора. Так же в нем присутствует функция для динамического кэширования контента. Для ускорения исполнения PHP-скриптов eAccelerator содержит возможность их оптимизации. Данный проект поддерживает 4 и 5 версии PHP и увеличивает скорость исполнения PHP кода до 10 раз, при этом уменьшает нагрузку на сервер.
Установка.
1) Необходимо зайти через shell(порт 22)
2) Установим дополнительное ПО:
yum install php-devel
yum groupinstall 'Development Tools'
3) После того, как установка данных пакетов закончится, скачиваем дистрибутив:
wget http://acelnmp.googlecode.com/files/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
phpize
./configure --enable-eaccelerator=shared
make
make install
4) Создаем файл /etc/php.d/eaccelerator.ini:
mkdir -p /etc/php.d/eaccelerator.ini
и вставляем следующие строки:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Если используется Zend Optimizer:
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
5) Затем создаем каталог для временных файлов:
mkdir /var/cache/php-eaccelerator
chmod 777 /var/cache/php-eaccelerator
6) Перегружаем web-сервер apache
/etc/init.d/httpd restart
7) После выполненных выше действий выполним настройки Joomla для возможности работы с eAccelerator. Зайдите в административную панель, выберите закладку System в Global Configuration. Далее, зайдите в раздел Cache Settings и отметьте YES и выбирите eAccelerator в качестве обработчика кэша(как это сделать отображено на рисунке ниже). Теперь сохранитесь и проверьте производительность исполнения скриптов.





