【问题标题】:performance about url.parse in Nodejs关于 Nodejs 中 url.parse 的性能
【发布时间】:2014-01-13 05:37:03
【问题描述】:

我刚刚通过使用 siege -b -t10s -q http://mynodejsserver 跟踪了我的 nodejs 服务器的性能

发现没有“url.parse(req.url)”的时候

交易速度约为 4300 次/秒

但是当我使用 url.parse 时,交易率大约是 3600-3700 trans/sec

其他代码同理。

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

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

【问题讨论】:

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

标签: performance node.js siege


【解决方案1】:

是的

是的,在 techempower benchmarks 删除 url.parse 时,node.js 从 20k/s 变为 30k/s。

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

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


更新

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多