当我们使用 NodeRED 在我们的NodeJS API服务器上使用 HTTP请求执行大量请求时,我们遇到了一个问题。
顺便说一句,我们还使用他在请求库上实现的WWW Request节点对此进行了测试。结果是一样的:(
这是错误堆栈跟踪:
error:
{ message: 'Error: connect ECONNREFUSED 163.113.172.80:1337',
source:
{ id: '5d2aa78c.a2d558',
type: 'http-request',
name: undefined,
count: 1 },
stack: 'Error: connect ECONNREFUSED 163.113.172.80:1337\n at
Object.exports._errnoException (util.js:856:11)\n at
exports._exceptionWithHostPort (util.js:879:20)\n at
TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)' } }
当然,我们使用Apache Benchmark(ab CLI)测试了我们的API服务器,但成功(无故障)和API率为500 req / s。
技术信息:
有什么想法吗?
答案 0 :(得分:0)
我们通过设置max sockets值找到了一种解决方法:
http.globalAgent.maxSockets = 100;
https.globalAgent.maxSockets = 100;
默认情况下,HTTP(S)全局代理最大套接字值似乎是无限的......