Nodejs 中 url.parse 的性能

标签 performance node.js siege

我刚刚使用以下命令跟踪了我的 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/

相关文章:

javascript - 调用 jquery 插件时是否应该使用 try-catch

performance - 灿灿授权: Performance Issue

node.js - forEach 在 Node.js 中使用生成器

node.js - find() 查询的更短方法

mysql - 使用sequelize js时将原始日期时间存储在mysql中

http - 攻城港口得到重用

数百万个http请求的负载生成

c++ - 修改部分数组的最快方法

Java 执行器服务

jmeter - 开放式和封闭式负载测试工具之间的区别