View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001668||Xdebug||Profiling||public||2019-05-20 14:34||2020-04-03 22:42|
|Status||resolved||Resolution||no change required|
|Target Version||Fixed in Version|
|Summary||0001668: Just installing xdebug slows php (both apache OR cli) down 6 to 12 x|
|Description||On a Centos 7.x machine, php7.3.|
The mere installation of xdebug has the effect described in subject. When installing, the file /etc/php.d/xdebug.ini is created, which loads libxdebug.so. However, all of xdebug debug and tracing functions are still disabled. The overhead incurred is dramatic, from 6 x up to almost two orders of magnitude, both in web AND CLI execution. strace-ing a CLI script shows an unordinate amount of time is spent syscalling getimeofday - so it may be related to profiling.
This also happens on CentOS6, php56...
|Steps To Reproduce||(1) Run the attached script. Record the output|
(2) yum install php-pecl-xdebug
(3) rerun script, note the increased execution time
Actual slowdown is code dependent - 10-20 times is not uncommon for wordpress sites.
bench.php (3,167 bytes)
||A debugger does work, so that makes it slow down the request. The benchmark you provided is not representative of a real workload of PHP, and might give skewed results. I hope to address some of the performance impacts in Xdebug 3, but as there is no actionable point in this issue report, I am closing it.|
||I agree that any debug code/extension will have a impact. What this issue points at, however, is that the its mere presence (module installed, unconfigured) slows down a site of amounts that can be above 10x. Slow downs of this magnitude are (in my experience) unexpected when not actively tracing/debugging the code. The benchmark is obviously a toy, but the effect is consistent with what can be witnessed on live sites. At the moment, I have been forced to nuke xdebug from all the servers under my company's administration (the production ones, at least).|
I urge you to re-open this issue.
I've got 2x slower requests when Xdebug module is loaded but completely disabled. I've seen a lot of articles around the web talking about this, and I've confirmed this happens with my co-workers as well, in various PHP environments with Xdebug.
I understand that a debugging tool will slow down requests, but I'd expect it doesn't impact a request that is not being debugged or profiled, especially if Xdebug is completely disabled, with all options "Off".
Do you know where this performance degradation for the mere presence of Xdebug comes from?
More information here: https://stackoverflow.com/questions/60985072/how-to-load-xdebug-module-into-php-without-performance-overhead
|2019-05-20 14:34||alforg||New Issue|
|2019-05-20 14:34||alforg||Tag Attached: performance|
|2019-05-20 14:34||alforg||File Added: bench.php|
|2019-06-28 11:22||derick||Assigned To||=> derick|
|2019-06-28 11:22||derick||Status||new => resolved|
|2019-06-28 11:22||derick||Resolution||open => no change required|
|2019-06-28 11:22||derick||Note Added: 0005043|
|2019-07-12 09:49||alforg||Note Added: 0005057|
|2020-04-03 22:42||lucasbustamante||Note Added: 0005374|