Акселераторы PHP
Материал из 1GbWiki.
Версия 12:14, 12 декабря 2008 (править) Renton (Обсуждение | вклад) (→Общие сведения) ← К предыдущему изменению |
Текущая версия (21:38, 10 сентября 2015) (править) (отменить) Zaputr (Обсуждение | вклад) (→Как включить) |
||
(17 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
== Общие сведения== | == Общие сведения== | ||
- | На UNIX-серверах хостинга'''*''' [http://www.1gb.ru 1Gb.ru] | + | На UNIX-серверах хостинга'''*''' [http://www.1gb.ru 1Gb.ru] предустановлены (либо могут быть установлены по заявке) следующие акселераторы PHP |
* [http://eaccelerator.net/ eAccelerator] | * [http://eaccelerator.net/ eAccelerator] | ||
- | * [http:// | + | * [http://pecl.php.net/APC APC] |
+ | * [https://github.com/zend-dev/ZendOptimizerPlus Zend Optimizer'''+'''] - '''(не путать с Zend Optimizer)''' | ||
- | + | Включение акселератора может давать ускорение времени генерации страницы сайта, но не снижает [[процессорное время]] потребляемое скриптами. В виду того, что данные ускорители могут давать и отрицательный эффект, например, за счет своих собственных ошибок, ошибок в самом 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] на сервер и скопировать | + | '''2.''' Зайти по [http://www.1gb.ru/136 SSH] на сервер и скопировать в домашний каталог 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> | |
- | + | ||
- | | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | === 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 | ||
+ | |||
+ | Остальные параметры модуля можно посмотреть через вывод функции [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]] | |
- | + | ||
- | + |
Текущая версия
Содержание |
[править] Общие сведения
На UNIX-серверах хостинга* 1Gb.ru предустановлены (либо могут быть установлены по заявке) следующие акселераторы PHP
- eAccelerator
- APC
- Zend Optimizer+ - (не путать с Zend Optimizer)
Включение акселератора может давать ускорение времени генерации страницы сайта, но не снижает процессорное время потребляемое скриптами. В виду того, что данные ускорители могут давать и отрицательный эффект, например, за счет своих собственных ошибок, ошибок в самом 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.