Обзор PHP-акселераторов с инструкциями по установке

В этой заметке рассмотрены 3 хороших opensource php-акселатора: eAccelerator, APC и xcache с инструкциями по их установке и настройке для Debian.

(В статье также приводятся руководства по установке в ubuntu, но здесь они опущены, так как процесс фактически не отличается. И еще я внес собственные небольшие поправки - прим. переводчика)

eAccelerator
eAccelerator - это свободный opensource-проект, выполняющий роли акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. eAccelerator повышает производительность работы PHP-скриптов за счет кэширования скомпилированного байт-кода, таким образом издержки на процесс компиляции ликвидируются. Также он оптимизирует скрипты для ускорения времени их исполнения. eAccelerator обычно снижает нагрузку на сервер и увеличивает скорость работы вашего кода в 1-10 раз.

Сайт проекта:
http://www.eaccelerator.net
Установка eAccelerator
Для сборки eAccelerator вам необходимо установить пакет php4-dev:

#apt-get install php4-dev

Или, если вы используете php5:

#apt-get install php5-dev

Загрузите архив с исходными кодами eAccelerator:

#wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.tar.bz2

Распакуйте архив:

#tar jxvf eaccelerator-0.9.5.tar.bz2
#cd eaccelerator-0.9.5

Запустите phpize для создания config-файлов, необходимых для сборки:

#phpize
#./configure –enable-eaccelerator=shared –with-php-config=/usr/bin/php-config
#make
#make install

Акселератор установлен.

Теперь необходимо отредактировать файл /etc/php4/apache2/php.ini для пользователей php4 и добавить в него следующие параметры для подключения расширения:

#vi /etc/php4/apache2/php.ini

extension=”eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/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, то необходимо отредактировать /etc/php4/apache2/php.ini следующим образом:

zend_extension=”/usr/lib/php4/eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/tmp/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″

Если вы используете thread-safe сборку PHP, то необходимо использовать “zend_extension_ts” вместо “zend_extension”.

Если вы используете php5, то редактируйте файл /etc/php5/apache2/php.ini

Создание cache-директории
Последний важный шаг в настройке акселератора - это создание директории для кэша, имя которой мы задавали в конфиге. Значение по умолчанию - /tmp/eaccelerator, потому что права на запись в папку /tmp обычно есть у всех пользователей

Не очень хорошим решением будет оставлять права на запись для всех пользователей. Более безопасным будет сменить владельца директории eaccelerator на пользователя, от имени которого запущен PHP (в большинстве случаев это web-сервер. Например apache или lighttpd) и установить на нее права 0644

#mkdir /tmp/eaccelerator
chown nobody:nobody /tmp/eaccelerator (укажите пользователя PHP)
#chmod 0644 /tmp/eaccelerator

Перезапустите web-сервер. На этом настройка eAccelerator закончена

#/etc/init.d/apache2 restart

Проверьте, все ли корректно поставилось. Создайте файл test.php со следующим содержанием:

?>?>?> eaccelerator();
?>

Если вы видите информацию о eAccelerator, то все установлено корректно.
Также вы можете использовать следующую команду:

#php -v

eAccelerator сохраняет скомпилированый PHP-код сначала в общей памяти, затем на диске, все время поддерживая размер занятой памяти оптимальным для производительной работы приложений.

Alternative PHP Cache (APC)
APC - это открытый и свободный оптимизатор кэша для php. Он был разработан для обеспечения свободной, открытой и надежной базы кэширования и оптимизации промежуточного кода PHP.

Сайт проекта
http://pecl.php.net/package/APC
Установка APC
Установите необходимые пакеты:

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

Затем установите APC при помощи pecl:

# pecl install apc

Отредактируйте конфигурационный файл:

#vi /etc/php5/apache2/php.ini

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

extension=apc.so

Перезапустите сервер:

#/etc/init.d/apache2 restart

XCache
XCache этобыстрый и стабильный акселератор PHP-кода, который тестируется и используется на системах с высокой нагрузкой. Он протестирован (на Linux-системах) на всех последних срезах cvs php: PHP_4_3, PHP_4_4, PHP_5_0, PHP_5_1, PHP_5_2 и HEAD(6.x). ThreadSafe/Windows также поддерживаются. XCache решает большинство проблем, которые пристутствуют у других акселераторов. Например, возможность использования с более новыми версиями PHP.
Домашняя страница
http://trac.lighttpd.net/xcache/

Установка XCache

#apt-get install php5-xcache

Теперь отредактируйте файл /etc/php5/apache2/php.ini и добавьте в него следующие значения:

zend_extension = /usr/lib/php5/20050606/xcache.so
xcache.size = 64M
xcache.cacher = On

Перезапустите сервер

#/etc/init.d/apache2 restart


 

Comments: 1

  1. cha0s November 11th, 2008 at 9:02 am

    советы из статьи очень помогли, спс огроменное!!!

Add a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>