Как оптимизировать работу PHP?

Все о скриптах

Модераторы: Art.i, vasya

Как оптимизировать работу PHP?

Сообщение ijkl » Чт апр 16, 2015 10:14 pm

Действительно ли php скрипты интерпретируются при каждом обращении?

Где-то читал, что есть способы кешировать байт код интерпретированного php-скрипта. Какие способы есть? Для каких режимов работы PHP они применимы (PHP как CGI, как модуль Apache, FastCGI)? Как их подключить?

Например, Zend Optimizer. Как его подключить?
ijkl
 
Сообщений: 215
Зарегистрирован: Чт окт 03, 2013 5:42 pm

Re: Как оптимизировать работу PHP?

Сообщение ls » Пт апр 17, 2015 3:47 am

Действительно, если используется php как cgi выполняется каждый раз. Будет выполняться кэширование (apc, zendopcache можно поставить) если исполняется как модуль apache или как fastcgi
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6385
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Как оптимизировать работу PHP?

Сообщение swg » Пт апр 17, 2015 1:02 pm

Не совсем так, уже давно.
PHP версии 5.5 уже имеет встроенный движок кэширования - OpCache - который сохраняет в памяти прекомпилированный байт-код скрипта.

Движок кэширования байт-кода, OpCache, APC или XCache, делает это только один раз - во время первого исполнения конкретного файла PHP. После этого прекомпилированный скрипт сохраняется в памяти, что должно привести к повышению производительности ваших PHP-приложений.

А точнее с 06.2013 http://php.net/archive/2013.php#id2013-06-20-1
Added the Zend OPcache extension for opcode caching.
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Как оптимизировать работу PHP?

Сообщение ls » Пт апр 17, 2015 3:21 pm

Бывают сборки где не включено (в расширении) и надо смотреть через php -m и ставить отдельно
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6385
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Как оптимизировать работу PHP?

Сообщение swg » Пт апр 17, 2015 3:33 pm

В каких ОС? Если из репозитория ставится php с 5.5 такого быть как раз и не должно.
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Как оптимизировать работу PHP?

Сообщение ijkl » Сб апр 18, 2015 4:36 am

swg писал(а):В каких ОС? Если из репозитория ставится php с 5.5 такого быть как раз и не должно.
Все-таки хотелось бы уточнить, чего не должно быть? Не должно быть включено или не должно не быть включено? Короче, будет кеширование, если все само ставилось в рамках шаблона Debian7+isp5? Если конкретно, то у меня php5.4.36-0+deb7 и php как модуль Apache. В phpinfo никаких упоминаний opcache нет.
ijkl
 
Сообщений: 215
Зарегистрирован: Чт окт 03, 2013 5:42 pm

Re: Как оптимизировать работу PHP?

Сообщение ls » Сб апр 18, 2015 8:23 am

В php 5.4 Debian по-умолчанию нет ничего.
Поставьте там apc или xcache (что-то одно из этого)
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6385
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Как оптимизировать работу PHP?

Сообщение swg » Сб апр 18, 2015 11:28 am

Ясно, вот поэтому и ушел с Debian на Ubuntu; сильно некоторые пакеты отстают по версиям :( Не только из-за php, но ведь 5.5 уже 2 года.

>> Все-таки хотелось бы уточнить, чего не должно быть?
Если ставится php 5.5 из коробки, то ничего доставлять не надо.
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Как оптимизировать работу PHP?

Сообщение ls » Сб апр 18, 2015 1:23 pm

Да, действительно Ubuntu 14.04 PHP 5.5 Zend OPcache уже включен, я почему-то не обращал внимание
* FirstVDS в twitter в facebook и в вконтакте *
ls
Support team
 
Сообщений: 6385
Зарегистрирован: Чт мар 01, 2007 10:36 am
Откуда: FirstVDS

Re: Как оптимизировать работу PHP?

Сообщение ijkl » Вс апр 19, 2015 7:22 pm

Так все-таки лучше Zend OPcache, XCache или что?

Хотелось бы хорошо теоретически подготовиться к установке, чтоб опять не испортить всю систему. Эта инструкция для Дебиан актуальна? http://firstwiki.ru/index.php/%D0%A3%D1 ... nd_OPcache
ijkl
 
Сообщений: 215
Зарегистрирован: Чт окт 03, 2013 5:42 pm

Re: Как оптимизировать работу PHP?

Сообщение swg » Вс апр 19, 2015 7:31 pm

На вкус и цвет все фломастеры разные
https://ru.wikipedia.org/wiki/%C0%EA%F1 ... %EE%F0_PHP
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Как оптимизировать работу PHP?

Сообщение ijkl » Пн апр 20, 2015 5:33 am

swg писал(а):На вкус и цвет все фломастеры разные
https://ru.wikipedia.org/wiki/%C0%EA%F1 ... %EE%F0_PHP
Прочитал, выбор еще усложнился. Мне желательно надежное, уже проверенное на php5.4.36-0+deb7, простое и безпроблемное в установке. Уже устал от танцев с бубном.
ijkl
 
Сообщений: 215
Зарегистрирован: Чт окт 03, 2013 5:42 pm

Re: Как оптимизировать работу PHP?

Сообщение swg » Пн апр 20, 2015 8:10 pm

Мне достаточно "официального"
Zend OPcache включен в PHP 5.5 по умолчанию. Как расширение PECL поддерживает версии 5.2, 5.3 и 5.4.
, эффект есть всегда, но если пользователей меньше 1К и время работы 1 скрипта менее 10 мсек или php далеко не слабое звено, то смысла особо нет.
p.s. Мне тоже надоело, поэтому ubuntu и из пакетов всё, кроме asterisk :)
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Re: Как оптимизировать работу PHP?

Сообщение ijkl » Пн апр 20, 2015 9:40 pm

Как установить?

Это выполнил:
Установка PECL
apt-get install php-pear

Установка пакетов по зависимостям
apt-get install build-essential php5-dev

Далее идет:
Установка Zend OPcache как пакет PECL
pecl install zendopcache-7.0.3
Какую версию там указывать? Тут написано, что 7.0.3 -beta 2014-01-20, а 7.0.5 stable. Странная нумерация версий.

Далее:
После установки в файл /etc/php5/conf.d/20-opcache.ini следует добавить следующую строку для загрузки модуля
zend_extension=/usr/lib/php5/20100525/opcache.so
Сейчас уже, наверно, не 20100525, а что-то другое?
ijkl
 
Сообщений: 215
Зарегистрирован: Чт окт 03, 2013 5:42 pm

Re: Как оптимизировать работу PHP?

Сообщение swg » Пн апр 20, 2015 9:47 pm

Смотрите только https://pecl.php.net/package/ZendOpcache , кто же тогда знал, какая сейчас актуальна.
Свежая 7.0.5, всего лишь 6 дней актуальна, stable, для php >5.2.0 и <5.5.0
Потом путь посмотрите.
swg
флудит форум
 
Сообщений: 2383
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

След.

Вернуться в CGI, Perl, PHP

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2