Акселераторы PHP

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 12:14, 12 декабря 2008 (править)
Renton (Обсуждение | вклад)
(Общие сведения)
← К предыдущему изменению
Текущая версия (21:38, 10 сентября 2015) (править) (отменить)
Zaputr (Обсуждение | вклад)
(Как включить)
 
(17 промежуточных версий не показаны.)
Строка 1: Строка 1:
== Общие сведения== == Общие сведения==
-На UNIX-серверах хостинга'''*''' [http://www.1gb.ru 1Gb.ru] доступны два акселератора PHP, это:+На UNIX-серверах хостинга'''*''' [http://www.1gb.ru 1Gb.ru] предустановлены (либо могут быть установлены по заявке) следующие акселераторы PHP
* [http://eaccelerator.net/ eAccelerator] * [http://eaccelerator.net/ eAccelerator]
-* [http://xcache.lighttpd.net/ XCache]+* [http://pecl.php.net/APC APC]
 +* [https://github.com/zend-dev/ZendOptimizerPlus Zend Optimizer'''+'''] - '''(не путать с Zend Optimizer)'''
-'''eAccelerator уже включен по-умолчанию.'''+Включение акселератора может давать ускорение времени генерации страницы сайта, но не снижает [[процессорное время]] потребляемое скриптами. В виду того, что данные ускорители могут давать и отрицательный эффект, например, за счет своих собственных ошибок, ошибок в самом PHP, а также в силу особенностей работы с разделямой памятью на виртуальном хостинге, данные модули по умолчанию выключены.
''Примечание:'' ''Примечание:''
---- ----
-'''*''' только на UNIX/Apache/FastCGI;+'''*''' только на UNIX/Apache/FastCGI или UNIX/Apache/mod_php работающий в режиме HTTP службы;
---- ----
 +<br />
== Как включить== == Как включить==
-Для включения любого из перечисленных акселератора вам нужно в разделе кабинета /Полный список функций/ -> [Сайты] -> /Управление сайтами и серверами/ перевести сайт на UNIX/Apache/FastCGI.+'''1.''' Для включения любого из перечисленных акселератора вам нужно в разделе кабинета <code>/Полный список функций/ -> [Сайты] -> /Управление сайтами и серверами/ перевести сайт на '''UNIX/Apache/FastCGI'''</code>.
-Зайти по [http://www.1gb.ru/136 SSH] на сервер и скопировать общесистемный php.ini в свой домашний каталог.+'''2.''' Зайти по [http://www.1gb.ru/136 SSH] на сервер и скопировать в домашний каталог php.ini, соответствующий той версии PHP, которая используется для сайта:
- cp /etc/php/php.ini ~/.php+ $ <nowiki>cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | head -n 1 | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/</nowiki>
-Отредактировать файл ~/.php/php.ini с помощью своего любимого редактора, например:+
- nano ~/.php/php.ini+
-или+
- vim ~/.php/php.ini+
-и раскомментировать соответствующие строки:+
- ;zend_extension="/opt/php/current/lib/php/extensions/no-debug-non-zts-20060613/xcache.so"+
-или+
- ;zend_extension="/opt/php/current/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"+
-''Примечание:''+=== eAccelerator ===
-----+ 
-'''*''' для сервера UNIX/Apache/FastCGI для ускорения сделанных изменений в php.ini можно выполнить команду: killall -9 php >/dev/null+В файле ~/.php/php.ini надо раскомментировать строку:
-----+ ;extension="eaccelerator.so"
 + 
 +В общем виде настройки для последней версии eAccelerator могу выглядить так:
 + [eAccelerator]
 + extension="eaccelerator.so"
 + eaccelerator.enable = "1"
 + eaccelerator.cache_dir = "/tmp/.eacc"
 + eaccelerator.shm_size = "128"
 + eaccelerator.shm_ttl = "1800"
 + eaccelerator.shm_prune_period = "900"
 + eaccelerator.shm_only = "0"
 + eaccelerator.optimizer = "1"
 + eaccelerator.debug = 0
 + eaccelerator.log_file = ""
 + eaccelerator.name_space = ""
 + eaccelerator.check_mtime = "1"
 + eaccelerator.filter = ""
 + eaccelerator.allowed_admin_path = ""
 + 
 +=== APC ===
 +В файле ~/.php/php.ini надо раскомментировать строку:
 + ;extension=apc.so
 + 
 +Минимально необходимые настройки для APC:
 + [APC]
 + extension=apc.so
 + apc.enabled=1
 + apc.shm_size=128M
 + apc.ttl=1800
 + apc.user_ttl=1800
 + apc.max_file_size=4M
 + 
 +Остальные параметры модуля можно посмотреть через вывод функции [http://php.net/phpinfo phpinfo()] .
 + 
 +=== Zend Optimizer+ ===
 +В файле ~/.php/php.ini надо раскомментировать строку:
 + ;zend_extension="/opt/php.../ZendOptimizerPlus.so"
 + 
 +Настройки по умолчанию:
 + zend_optimizerplus.enable=1
 + zend_optimizerplus.memory_consumption=128
 + zend_optimizerplus.interned_strings_buffer=8
 + zend_optimizerplus.max_accelerated_files=4000
 + zend_optimizerplus.revalidate_freq=60
 + zend_optimizerplus.fast_shutdown=1
 + zend_optimizerplus.enable_cli=0
 + 
 +Остальные параметры модуля можно посмотреть через вывод функции [http://php.net/phpinfo phpinfo()] .
 + 
 +== Перезапуск PHP ==
 +Чтобы сделанные изменения в php.ini вступили в силу, нужно выполнить команду:
 + $ killall -9 php php-cgi
 + 
 +== См. также ==
 +* [[Юникс шелл]]
 +* [[Собственные модули и расширения (PECL и PEAR) PHP]]
 +== Ссылки ==
 +* [https://github.com/eaccelerator/eaccelerator/wiki eAccelerator project.] (англ.) - документация по eAccelerator на сайте разработчиков.
 +* [http://pecl.php.net/apc Pecl APC] (англ.) - официальная страница проекта APC.
 +* [https://github.com/zend-dev/ZendOptimizerPlus Zend Optimizer+] (англ.) - страница Zend Optimizer+ на github.
-Дополнительную справку по настройке данных модулей можно найти на сайтах разработчиков:+[[Категория:PHP]]
-* [http://eaccelerator.net/wiki/Settings настройки eAccelerator]+
-* [http://xcache.lighttpd.net/wiki/PhpIni настройки XCache]+

Текущая версия

Содержание

[править] Общие сведения

На UNIX-серверах хостинга* 1Gb.ru предустановлены (либо могут быть установлены по заявке) следующие акселераторы PHP

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

Примечание:


* только на UNIX/Apache/FastCGI или UNIX/Apache/mod_php работающий в режиме HTTP службы;



[править] Как включить

1. Для включения любого из перечисленных акселератора вам нужно в разделе кабинета /Полный список функций/ -> [Сайты] -> /Управление сайтами и серверами/ перевести сайт на UNIX/Apache/FastCGI.

2. Зайти по SSH на сервер и скопировать в домашний каталог php.ini, соответствующий той версии PHP, которая используется для сайта:

$ cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | head -n 1 | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/

[править] eAccelerator

В файле ~/.php/php.ini надо раскомментировать строку:

;extension="eaccelerator.so"

В общем виде настройки для последней версии eAccelerator могу выглядить так:

[eAccelerator]
extension="eaccelerator.so"
eaccelerator.enable = "1"
eaccelerator.cache_dir = "/tmp/.eacc"
eaccelerator.shm_size = "128"
eaccelerator.shm_ttl = "1800"
eaccelerator.shm_prune_period = "900"
eaccelerator.shm_only = "0"
eaccelerator.optimizer = "1"
eaccelerator.debug = 0
eaccelerator.log_file = ""
eaccelerator.name_space = ""
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.allowed_admin_path = ""

[править] APC

В файле ~/.php/php.ini надо раскомментировать строку:

;extension=apc.so

Минимально необходимые настройки для APC:

[APC]
extension=apc.so
apc.enabled=1
apc.shm_size=128M
apc.ttl=1800
apc.user_ttl=1800
apc.max_file_size=4M

Остальные параметры модуля можно посмотреть через вывод функции phpinfo() .

[править] Zend Optimizer+

В файле ~/.php/php.ini надо раскомментировать строку:

;zend_extension="/opt/php.../ZendOptimizerPlus.so"

Настройки по умолчанию:

zend_optimizerplus.enable=1
zend_optimizerplus.memory_consumption=128
zend_optimizerplus.interned_strings_buffer=8
zend_optimizerplus.max_accelerated_files=4000
zend_optimizerplus.revalidate_freq=60
zend_optimizerplus.fast_shutdown=1
zend_optimizerplus.enable_cli=0

Остальные параметры модуля можно посмотреть через вывод функции phpinfo() .

[править] Перезапуск PHP

Чтобы сделанные изменения в php.ini вступили в силу, нужно выполнить команду:

$ killall -9 php php-cgi

[править] См. также

[править] Ссылки

  • eAccelerator project. (англ.) - документация по eAccelerator на сайте разработчиков.
  • Pecl APC (англ.) - официальная страница проекта APC.
  • Zend Optimizer+ (англ.) - страница Zend Optimizer+ на github.
Личные инструменты