Відмінності між версіями «EAccelerator»
| Рядок 1: | Рядок 1: | ||
| − | == [[http://dedicatesupport.com/archives/45 | + | == [[http://dedicatesupport.com/archives/45 #eAccelerator - ускорение работы php приложений.]] == |
Что такое eAccelerator? | Что такое eAccelerator? | ||
Версія за 20:24, 29 березня 2009
[#eAccelerator - ускорение работы php приложений.]
Что такое eAccelerator? eAccelerator это свободно-распространяемый PHP акселератор, оптимайзер и средство для кеширования динамического контента. Он увеличивает производительность PHP скриптов за счет их кеширования в скомпилированном состоянии, тем самым предотвращая их постоянную перекомпиляцию. В результате происходит увеличение скорости их выполнения. eAccelerator обычно уменьшает нагрузку на сервер и увеличивает скорость исполнения PHP кода на величину от 1 до 10 раз. В результате моих экспериментов, было выяснено, что скорость выдачи контента, например, для сайтов на Drupal увеличивается до 30 раз!!! В этой маленькой заметке опишу процесс установки eAccelerator на linux систему. Итак приступим. Домашняя страница проекта http://eaccelerator.net/ Выбираем последнюю версию. На данный момент последней версией является 0.9.5.2. Скачиваем и распаковываем ее.
cd /usr/local/src wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 bzip2 -d eaccelerator-0.9.5.2.tar.bz2 tar xvf eaccelerator-0.9.5.2.tar cd eaccelerator-0.9.5.2
Далее необходимо проверить есть ли в нашей системе необходимые для создания модуля php пакеты. Нам нужны:
* apache >= 1.3, * mod_php >= 4.1, * autoconf, * automake, * libtool, * m4
Если производилась установка веб сервера, и php из пакетов то нам необходимо установить еще и модуль php-devel. Именно в нем находится необходимая нам программа phpize, с помощью которой и происходит компиляция модулей для php.
yum install php-devel
Далее выясняем местоположение файла phpize с помощью команды:
whereis phpize
И смотрим путь до файла. Обычно это /usr/bin/phpize. В таком случае для компиляции модуля выполняем следующие действия:
export PHP_PREFIX="/usr" $PHP_PREFIX/bin/phpize ./configure \ --enable-eaccelerator=shared \ --with-php-config=$PHP_PREFIX/bin/php-config make make install
Далее находим файл php.ini (обычно он находится в /etc/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"
Это для варианта использования eAccelerator как расширения php. Я использую такой подход. Есть еще вариант использования eAccelerator как расширения Zend. В таком случае прописать нужно следующие строки:
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"
Далее настал черед создания каталога, котрый будет использовать eaccelerator для хранения своего кеша:
mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator
Далее перезапускаем наш апач:
service httpd restart
и радуемся ускорению. Ну в общем и все. Как всегда, жду ваших замечаний и предложений.
P.S. Если кому-нибудь нужны мои заметки, пожалуйста берите. Только оставьте ссылку на http://dedicatesupport.com