我刚刚使用以下命令跟踪了我的 NodeJS 服务器的性能:siege -b -t10s -q http://mynodejsserver
我发现当没有“url.parse(req.url)”时
事务速率约为 4300 事务/秒
但是当我使用 url.parse 时,事务率约为 3600-3700 事务/秒
其他代码相同。
尝试了很多次,结果很稳定。
url.parse真的有性能问题吗?
最佳答案
是
是的,在 techempower benchmarks删除 url.parse
后,node.js 从 20k/s 升至 30k/s。
像大多数node.js模块一样,实现非常慢(我在几个“事实上的标准” Node 模块上重写了3-75倍的速度改进,只需检查我的github配置文件)。
我实际上也计划了 url.parse
重写。但是,是的,如果你可以避免它,那么你应该避免它。
更新
这解决了性能问题:https://npmjs.org/package/fast-url-parser 。它具有完全相同的 API 和语义,但速度快了 25-30 倍,并且在您的示例中根本不会影响事务速率。
关于Nodejs 中 url.parse 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20770003/