关于 Nodejs 中 url.parse 的性能



我只是通过使用以下命令跟踪了nodejs服务器的性能: siege -b -t10s -q http://mynodejsserver

我发现当没有"url.parse(req.url)"时

交易速率约为4300跨/秒

但是当我使用 url.parse 时,事务速率约为 3600-3700 trans/sec

其他代码相同。

我尝试了很多次,结果很稳定。

url.parse 真的有性能问题吗?

是的,在 techempower 基准节点中.js删除url.parse时从 20k/s 变为 30k/s。

与大多数节点.js模块一样,实现非常慢(我已经在几个"事实上的标准"节点模块上重写了 3x-75x 的速度改进,只需检查我的 github 配置文件)。

我实际上也计划进行url.parse重写。但是,是的,如果你能避免它,那么你应该避免它。


更新

这修复了性能问题:https://npmjs.org/package/fast-url-parser 。它具有完全相同的 API 和语义,但它的速度提高了 25-30 倍,并且在您的示例中根本不会影响事务速率。

最新更新