Страница 1 из 1

Тормоза PHP 5.3.15

Добавлено: 08 сен 2012, 22:21
macik
Установлен O-S 4.6.0

Заметил, что при работе с PHP5.3.15 все обращения к php жутко тормозят.
При переключении на PHP5.2.17 все летает как реактивный самолет. Разница субъективно в 10-20 раз. :o

Сначала грешил на вебсервер. Поменял (попробовал другую версию апача и nginx) ничего не меняется (5.2 летает, 5.3 тормозит).
Подумал может дело в разных сервер API - нет пишет и там и там CGI/FastCGI.
Решил что Zend optimizer способствует такой скорости - отключил, все по прежнему.

Только потом дошло, что может быть виноват Xdebug. :D Отключил - действительно помогло.

Для сравнения поставил Xdebug на 5.2.17 там, конечно, тоже подтормаживает, но гораздо меньше.

И все равно странно... В свое время работал с XDebug'ом на другой сборке (не ОпенСервер) там такой разницы в скоростях не было.

В результате, как итог отказался от Xdebug и подключил ZendDebugger к PHP 5.2.17. Скорость радует и разница (на глаз) незаметна. 8-)

(Написал этот топик в качестве информации - мало ли кто-то еще будет ломать голову.)

Добавлено: 18 сен 2012, 12:24
macik
Вот теперь и с Xdebug'ом разобрался. Просто у меня был включен профайлер (xdebug.profiler_enable = 1 ;), который и тормозил систему. Отключил - все как и должно заработало достаточно быстро.

Добавлено: 07 апр 2013, 02:57
Lektor
macik, имею сходное наблюдение, при пхп 5,2 - летает, 5.3, 5.4 - задержка видна невооруженным глазом. Конфиг по дефолту таков:
[Xdebug]
zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll"
xdebug.auto_trace = 0
;xdebug.collect_includes = 1
;xdebug.collect_params = 0
;xdebug.collect_return = 0
;xdebug.collect_vars = 0
xdebug.default_enable = 0

;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE = ""
;xdebug.dump.FILES = ""
;xdebug.dump.GET = ""
;xdebug.dump.POST = ""
;xdebug.dump.REQUEST = ""
;xdebug.dump.SERVER = ""
;xdebug.dump.SESSION = ""

;xdebug.dump_globals = 1
;xdebug.dump_once = 1
;xdebug.dump_undefined = 0
;xdebug.extended_info = 1
;xdebug.file_link_format = ""
;xdebug.idekey = ""
;xdebug.manual_url = "http://www.php.net"
;xdebug.max_nesting_level = 100
;xdebug.overload_var_dump = 1
;xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="%sprogdir%/userdata/temp/xdebug/"
xdebug.profiler_output_name = "cachegrind.out.%H%R"
;xdebug.remote_autostart = 0
;xdebug.remote_enable = 0
;xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "localhost"
;xdebug.remote_log = "none"
;xdebug.remote_mode = "req"
;xdebug.remote_port = 9000
;xdebug.show_exception_trace = 0
;xdebug.show_local_vars = 0
;xdebug.show_mem_delta = 0
;xdebug.trace_format = 0
;xdebug.trace_options = 0
xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/"
;xdebug.trace_output_name = "trace.%H%R"
;xdebug.var_display_max_children = 128
;xdebug.var_display_max_data = 512
;xdebug.var_display_max_depth = 3
т.е. профайлер отключен, в чем может быть причина лага?

Добавлено: 08 апр 2013, 22:14
Lektor
Обновил версию ОС до 4.8.5 ситуация такая же .. подскажите куда копать ?

Добавлено: 08 апр 2013, 22:28
Максим
Это тормозит коннект к Mysql, подключение длится одну секунду. Тема уже обсасывалась на форуме миллион раз. Как лечить читайте в руководстве - раздел Решение проблем, про отключение ipv6.

Добавлено: 10 апр 2013, 23:11
Lektor
Ваш совет помог, спасибо :)

сори за офтоп, спасибо за OS, всегда расскатывал сервак сам и ставил все по отдельности.., как увидел ОС абалдел - круто))

Торамоза при отключенном IPv6

Добавлено: 29 авг 2014, 23:06
Alfino
А что делать с длительным подключением к базе, если IPv6 уже отключено по всякому, и руками тоже ???

Добавлено: 29 авг 2014, 23:35
Максим
Alfino, видимо криво отключено. Да его вообще-то и отключать не обязательно, просто используйте для подключения к базе домен где располагается сайт, а не localhost.