Задать вопрос
65536
@65536

Почему XDebug тормозит даже отключенный?

Поставил Debian 9, PHP 7, XDebug 2.5.

До этого было Ubuntu 14.04, PHP 5.5.9, и какой-то предыдущий XDebug.

Скопипастил старый конфиг, раньше все было как надо. Все автостарты, энейблы и т. д. были отключены. Тормозил только если включался триггером (из браузера отправлялась кука).

Сейчас тормозит сам по себе, не тормозит если только вообще расширение отключить. На примере одной страницы:
- расширение отключено: 500 мс
- включено: 2.3 сек
- включено и отправляется кука: 4.4 сек

Для верности скопировал кофиг из пхп инфо полностью, вставил его в файл конфига, думал вдруг какие новые тормозящие параметры появились в новой версии, прочитал в документации про каждый новый. Нашел только xdebug.coverage_enable = On, выключил, получилось:

- включено: 1.9 сек
- включено и отправляется кука: 3.8 сек

Конфиг такой получился:
zend_extension = xdebug.so

xdebug.auto_trace = Off
xdebug.cli_color = 0
xdebug.collect_assignments = Off
xdebug.collect_includes = On
xdebug.collect_params = 0
xdebug.collect_return = Off
xdebug.collect_vars = Off
xdebug.coverage_enable = Off
xdebug.default_enable = Off
;xdebug.dump.COOKIE =
;xdebug.dump.ENV =
;xdebug.dump.FILES =
;xdebug.dump.GET =
;xdebug.dump.POST =
;xdebug.dump.REQUEST =
;xdebug.dump.SERVER	=
;xdebug.dump.SESSION =
xdebug.dump_globals = On
xdebug.dump_once = On
xdebug.dump_undefined = Off
xdebug.extended_info = On
;xdebug.file_link_format =
xdebug.force_display_errors = Off
xdebug.force_error_reporting = 0
xdebug.halt_level = 0
xdebug.idekey = PHPSTORM
xdebug.max_nesting_level = 250
xdebug.max_stack_frames = -1
xdebug.overload_var_dump = 2

xdebug.profiler_aggregate = Off
xdebug.profiler_append = Off
xdebug.profiler_enable = Off
xdebug.profiler_enable_trigger = On
;xdebug.profiler_enable_trigger_value =
xdebug.profiler_output_dir = /home/fed/xdebug
xdebug.profiler_output_name = cachegrind.out.%H%R

;xdebug.remote_addr_header =
xdebug.remote_autostart = Off
xdebug.remote_connect_back = Off
xdebug.remote_cookie_expire_time = 3600
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = 192.168.1.2
xdebug.remote_log = /home/fed/xdebug/log
xdebug.remote_mode = req
xdebug.remote_port = 9000

xdebug.scream = Off
xdebug.show_error_trace = Off
xdebug.show_exception_trace = Off
xdebug.show_local_vars = Off
xdebug.show_mem_delta = Off

xdebug.trace_enable_trigger = On
;xdebug.trace_enable_trigger_value =
xdebug.trace_format = 0
xdebug.trace_options = 0
xdebug.trace_output_dir = /home/fed/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


1.9 сек это почти в 4 раза больше чем 500, видимо еще-что то происходит. Что может быть?
  • Вопрос задан
  • 1064 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@PapaStifflera
Родился, вырос...
The first one is that when you add debugging behavior to your server, the debug engine "attaches" to the PHP process and receive messages of the engine to stop at breakpoints, and this is BAD, because introduces a high performance blow to have another process stopping or "retaining" the PHP parser.

https://stackoverflow.com/questions/3522182/will-e...
Ответ написан
@EvgenZZ
php, javascript developer
debug.profiler_enable_trigger = on отключите
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы