Node.js的http.request有什么表现?它可以处理多少并发请求?

时间:2011-06-01 00:58:32

标签: http concurrency node.js request

我的node.js服务器使用最新的(0.4.8)http.request调用来调用另一台服务器。

我使用jMeter来运行负载测试。每秒50-100个并发线程,并循环1000次。

当脚本继续运行时,我观察到一些减速。我监控的网络吞吐量相当低,CPU&记忆力也很低。在另一台服务器中,日志显示他们的响应很快。 (在毫秒内)。

但是,我的node.js服务器中的console.log显示http.request响应时间从200-300毫秒开始,到2000-3000毫秒。

我不确定我可以制作并发http.request的限制。

请告知。


经过大量测试后,我认为http.request的平均值大约是300-400请求/秒,有一个ok服务器,maxSockets = 1024.通常,我看到速度(连接到不同的网站)大约是80-100毫秒根据要求。

1 个答案:

答案 0 :(得分:10)

最大并发连接数应取决于您的硬件。 This article表示node.js可以支持数万个并发连接。但是,大多数Linux系统默认只允许您在同一时间打开1024个文件/套接字。对于这种情况,您可以以root用户身份运行,然后将ulimit设置为一个大数字(例如,100000),然后使用您的硬件运行压力测试以获得准确的并发连接容量。