如何处理node的ECONNRESET异常?
在nodejs上构建应用,当发起大量http/https请求后,就会触发ECONNRESET异常,此异常出现2次时,整个应用假死,只有重启进程,尝试用各种手段捕获异常都未成功
3 回复
我以前遇到过这种问题。也是发起大量请求返回大量ECONNRESET。 首先,我当时遇到的情况是因为访问的server设置了最大连接数,所以当我请求的链接超过1000时它就会返回大量的ECONNRESET。 我的解决方案是在我这边添加agent 链接池,设置最大连接池为512.然后让server同时增大最大连接数限制。 最后压测下来发现跑1000多个链接没问题。最后基于安全及性能考虑将连接池降到了256. 目前跑下来没再出个问题, 其次,抛出异常并不会造成应用假死(至少我没遇到)。建议你看看是不是异常没有正常捕获造成的。
也遇到了这种问题,是两台线上服务器,并发量特别大,如果有一台出现问题另一台马上也会出问题,现象就是假死,koa.on(‘error’) 大量ECONNRESET异常,进程当时没挂响应变得特别慢,持续一段时间后进程才挂掉 加服务器应该就可以了,但我没加,没有找到解决办法最终换go语言了
@zengming00 在处理并发量上,go比起node来说怎么样