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

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

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

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

Сообщение swg » Вт апр 21, 2015 12:18 am

Внутреннюю кухню OPCache не знаю так детально. Смысл в том, что точно будет анализ кода. Если там линейно if(true){include} - т.е. всегда, то запишется "проверить файл на изменения всегда" и, возможно, сразу будет создан байткод, если if(...){include} - поведение уже не такое однозначное. К тому же может быть вычисляемый include 'render.'.$someRenderType.'.php'; При дефолтных настройках все будет корректно обработано, но не факт, что оптимально - на то они и дефолтные.

>> За счет чего php как модуль Апача быстрее, чем как cgi?
Все будет быстрее, чем cgi, т.к. не запускается ещё один интерпретатор, но практически одинаков по скорости с fastCGI, накладные расходы на локальный сокет практически неощутимы. Читайте, как что работает, этой информации тоже море. И отличия cgi от fastcgi (это не только про php).
swg
флудит форум
 
Сообщений: 2373
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

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

Сообщение ijkl » Вт апр 21, 2015 9:49 am

Если там линейно if(true){include} -
Не, у меня безусловно включается.

Что-то не заметил измерений. С OPCache вроде даже медленнее.

Array (
[opcache_enabled] => 1
[cache_full] =>
[restart_pending] =>
[restart_in_progress] =>
[memory_usage] => Array ( [used_memory] => 16613928 [free_memory] => 50494936 [wasted_memory] => 0 [current_wasted_percentage] => 0 )
[interned_strings_usage] => Array ( [buffer_size] => 8388608 [used_memory] => 882408 [free_memory] => 7506200 [number_of_strings] => 8946 )
[opcache_statistics] => Array ( [num_cached_scripts] => 30 [num_cached_keys] => 57 [max_cached_keys] => 3907 [hits] => 801 [start_time] => 1429575087 [last_restart_time] => 0 [oom_restarts] => 0 [hash_restarts] => 0 [manual_restarts] => 0 [misses] => 30 [blacklist_misses] => 0 [blacklist_miss_ratio] => 0 [opcache_hit_rate] => 96.389891696751 ) ... )

Как я понимаю, можно сократить размер кеша до 20МБ.

Почему рестарта не было: last_restart_time=0. Может все-таки рестарт происходит только в аварийных случаях? Сайт тестовый, никто туда не заходил несколько часов. Более opcache.force_restart_timeout=180 сек без работы точно стоял.
ijkl
 
Сообщений: 212
Зарегистрирован: Чт окт 03, 2013 5:42 pm

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

Сообщение swg » Вт апр 21, 2015 3:16 pm

Не надо меньше 64 ставить.
Это, может, вы так думаете, что обращений к OPCache не было.
Вон, [hits] => 801 , чуть меньше, чем раз в 2 минуты в среднем обращение было.
Посмотрите, сколько hits станет через часа 2 "простоя".
Здесь тоже пишут, что и я http://stackoverflow.com/questions/1973 ... lush-reset
Пока не могу проверить, нет свободных серверов только с php fcgi.
swg
флудит форум
 
Сообщений: 2373
Зарегистрирован: Сб окт 07, 2006 9:09 am
Откуда: NNov

Пред.

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

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

Сейчас этот форум просматривают: Yahoo [Bot] и гости: 1