2011-06-01 199 views
7

我的node.js服务器使用最新的(0.4.8)http.request调用来调用另一个服务器。Node.js的http.request的性能如何?它可以处理多少个并发请求?

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

当脚本继续运行时,我观察到一些速度变慢。我监测网络吞吐量相当低,CPU &内存也很低。而在另一台服务器上,日志显示他们的回应很快。 (毫秒)。

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

我不确定是否有限制的并发http.request我可以做。

请指教。


巨大测试后,我认为是平均约300-400请求/秒为http.request与确定服务器,maxSockets = 1024。通常,我看到的速度(连接到不同的网站)的约每个请求80-100毫秒。

回答

10

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

+4

获取套接字号:ulimit -n将套接字号设置为10240:ulimit -n 10240 – sky100 2011-06-01 01:36:04