Обзор PHP-акселераторов с инструкциями по установке
В этой заметке рассмотрены 3 хороших opensource php-акселатора: eAccelerator, APC и xcache с инструкциями по их установке и настройке для Debian.
(В статье также приводятся руководства по установке в ubuntu, но здесь они опущены, так как процесс фактически не отличается. И еще я внес собственные небольшие поправки - прим. переводчика)
eAccelerator
eAccelerator - это свободный opensource-проект, выполняющий роли акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. eAccelerator повышает производительность работы PHP-скриптов за счет кэширования скомпилированного байт-кода, таким образом издержки на процесс компиляции ликвидируются. Также он оптимизирует скрипты для ускорения времени их исполнения. eAccelerator обычно снижает нагрузку на сервер и увеличивает скорость работы вашего кода в 1-10 раз.
Сайт проекта:
Установка 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.
Сайт проекта
Установка 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.
Домашняя страница
Установка 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
15.11.07 | *NIX, PHP |
советы из статьи очень помогли, спс огроменное!!!