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

mur*_*lai 9 concurrency http request node.js

我的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毫秒.

sky*_*100 11

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

  • 获取套接字的号码:ulimit -n将套接字号设置为10240:ulimit -n 10240 (4认同)