gpt4 book ai didi

node.js - Node --inspect 标志是否对性能有显着影响?

转载 作者:搜寻专家 更新时间:2023-11-01 00:05:18 24 4
gpt4 key购买 nike

除了标题之外没有太多可扩展的内容。我正在考虑在我的 Node EC2 实例上保留 --inspect 标志以便随意进行调试,我只想检查这样做是否存在任何明显的性能问题(或安全漏洞)。

最佳答案

我认为已接受的答案并没有完全解决所有可能的用例,而且有点误导。

让我们把问题分成两部分。

--inspect 标记没有附加调试器 是否对性能有显着影响?
  • 没有
--inspect flag with a debugger attached 是否有显着的性能影响?

总和:

当您使用 --inspect 标志时,您告诉您的 nodejs 进程监听特定端口(默认情况下为 9229)并接受通过 ws 协议(protocol)远程连接调试客户端。在您连接到此端口之前,您的 nodejs 性能与没有此标志时一样。

但情况并非总是如此。 2019年提出这个问题https://github.com/nodejs/node/issues/28741说明具有 --inspect-brk 标志会将 CPU 使用率提高到 100%。

Eugene Ostroukhov 的这次提交修复了问题 https://github.com/nodejs/node/commit/49144ab64d3c5810f70585c2ccb0c90539fec116并影响了这个版本:v17.4.0 v17.3.1 v17.3.0 v17.2.0 v17.1.0 v17.0.1 v17.0.0 v16.13.2 v16.13.1 v16.13.0 v16.12.0 v16.11.1 v16.11.0 v16.10.0 v16.9.1 v16。 9.0 v16.8.0 v16.7.0 v16.6.2 v16.6.1 v16.6.0 v16.5.0 v16.4.2 v16.4.1 v16.4.0 v16.3.0 v16.2.0 v16.1.0 v16.0.0 v15.14.0 v15.13.0 v15.12.0 v15 .11.0 v15.10.0 v15.9.0 v15.8.0 v15.7.0 v15.6.0 v15.5.1 v15.5.0 v15.4.0 v15.3.0 v15.2.1 v15.2.0 v15.1.0 v15.0.1 v15.0.0 v14.19.0 v14.18.3 v14.18.2 v14.18.1 v14.18.0 v14.17.6 v14.17.5 v14.17.4 v14.17.3 v14.17.2 v14.17.1 v14.17.0 v14.16.1 v14.16.0 v14.15.5 v14.15.4 v14.15.32 v14.15 15.1 v14.15.0 v14.14.0 v14.13.1 v14.13.0 v14.12.0 v14.11.0 v14.10.1 v14.10.0 v14.9.0 v14.8.0 v14.7.0 v14.6.0 v14.5.0 v14.4.0 v14.3.0 v14.2.0 v14.3.0 v14.2.0 v14.3.0 v14.2.0 .1.0 v14.0.0 v13.14.0 v13.13.0 v13.12.0 v13.11.0 v13.10.1 v13.10.0 v13.9.0 v13.8.0 v13.7.0 v13.6.0 v13.5.0 v13.4.0 v13.3.0 v13.2.0 v13.1.0 v13.0.1 v13.0.0

最后,它在 ^v12.7.0 中通过此拉取请求得到修复:https://github.com/nodejs/node/pull/28817

现在,如果我们连接了调试器客户端会怎样?

如果我们有一个连接的调试器客户端,您将体验到巨大的性能影响,估计 CPU 密集型代码大约慢 100-300 倍。不过,与 I/O 相关的代码不受影响。

debugger 关键字。

此关键字与--inspect 标志没有直接关系。当您使用 inspect 参数运行您的 node 进程并在 REPL 中打开调试客户端时,它会起作用。 https://nodejs.org/api/debugger.html

警告

此关键字会影响性能,即使您没有运行任何调试 session ,例如您通常使用 node my-app.js 启动您的应用程序。

关于node.js - Node --inspect 标志是否对性能有显着影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45379080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com