And*_*rei 31 php performance xdebug production-environment
标题几乎说明了一切......这是一个坏主意吗?我想获得XDebug在服务器上提供的增强调试消息.
[编辑]只是为了清楚.我知道存在安全风险.也许我应该补充我的问题,并给出更准确的理由我为什么要这样做.
我们的生产服务器也提供测试平台.有时我们使用它来测试尽可能接近生产的环境.我正在寻找的主要是使用XDebug的增强功能var_dump().
这不是高流量应用的应用服务器,性能不是很大的问题.如果表现会受到XDebug的明显影响,我只是很好奇.
此外,我想我只能为定义测试站点的VirtualHost启用它.
Dav*_*nde 39
除了显而易见的事实,即调试消息无法在已经投入生产的应用程序中显示,而且事实上我不知道你为什么会这样,有一些非常糟糕的事情.
第一个是当您向服务器添加调试行为时,调试引擎"附加"到PHP进程并接收引擎的消息以在断点处停止,这是不好的,因为引入了高性能打击以获得另一个进程停止或"保留"PHP解析器.
另一个大问题是,当安装调试器时,至少大多数调试器,他们往往有在服务器中打开端口的恶习,因为它们不适用于生产环境,并且您可能知道,任何打开的软件服务器中的端口为任何黑客打开了一扇门.
如果您需要在代码中进行调试,那么在您的应用程序中,实现一个调试系统,如果不可用,因为大多数框架都内置了这个.设置配置值,比如说DEBUG_ENABLED,当抛出异常时,如果没有启用,重定向到一个小页面,否则转到一个带有调试信息的丑陋页面,但要注意你在服务器中显示的调试信息.我希望这能澄清一切.
编辑显然我的回答没有足够的记录,你应该检查这些来源
最后,有一件事我没说,因为我认为它是隐含的:这是常识不能做到的!您不要将调试工具放在生产服务器上,原因与将它们保存在不同环境中的原因相同,因为您需要保留不必要的东西.在服务器上运行的任何进程,无论多么轻,都会影响您的性能.
Ale*_*lex 15
我做了一些测试只是启用模块,没有实际调试,使我的开发机器上的请求从1秒减慢到大约4秒
Ark*_*tov 10
完全删除 xdebug(即使它没有启用)使我们的页面加载提升了 50%(从 60 毫秒降低到 30 毫秒)。我们让 xdebug 处于“休眠”状态(等待触发)。我们认为由于它处于休眠状态,因此不会造成任何伤害,但是我们错了。
我们在 21:43 左右注释掉了 php 配置中的 zend_extension 行。每个核心的平均负载也从 0.4 下降到 0.2:
| 归档时间: |
|
| 查看次数: |
17113 次 |
| 最近记录: |