问题描述
|
我的node.js服务器正在使用最新(0.4.8)http.request调用来调用另一台服务器。
我使用jMeter进行负载测试。每秒处理50-100个并发线程,并循环1000次。
当脚本继续运行时,我观察到速度变慢。我监视网络吞吐量很低,CPU和内存也很低。在另一台服务器上,日志显示他们的响应很快。 (以毫秒为单位)。
但是,我的node.js服务器中的console.log显示http.request响应时间从200-300毫秒开始,到2000-3000毫秒。
我不确定我可以进行的并发http.request是否有限制。
请指教。
经过大量的测试,我认为使用ok服务器(maxSockets = 1024)的http.request的平均请求速度约为300-400个/秒。通常,我看到每个请求的速度(连接到不同的网站)约为80-100毫秒。
解决方法
最大并发连接数应取决于您的硬件。本文说,node.js可以支持数万个并发连接。但是,大多数Linux系统默认只允许您同时打开1024个文件/插槽。在这种情况下,您可以以root用户身份运行,然后将ulimit设置为一个大数字(例如100000),然后使用硬件运行压力测试以获取准确的并发连接能力。