RequestError:错误:连接ECONNRESET 127.0.0.1:8443

时间:2017-01-27 09:44:11

标签: javascript node.js

我在NodeJS中通过请求承诺查询127.0.0.1:8443并发出10K +请求并且正在点击:

{ RequestError: Error: connect ECONNRESET 127.0.0.1:8443

和/或

{ RequestError: Error: read ECONNRESET

如果我减少请求数量10-100,那就没有错误。

这是我的NodeJS客户端发出无法跟上的请求,还是我正在尝试请求无法跟上的端点?

我可以控制两端,并且没有从我请求的服务器收到任何错误。

1 个答案:

答案 0 :(得分:1)

根据Node.js documentation

  

ECONNRESET(由对等方重置连接):强制连接   由同行关闭。这通常是由于连接丢失造成的   因超时或重启而在远程套接字上。常见的   通过http和网络模块。

由于大量请求正在访问服务器,因此它正在超载(忙于为之前的请求提供服务,然后才能处理任何新请求)

可能的解决方案:

  • 使用server.timeout = 0检查/修改服务器超时。这是不是 用于生产的推荐解决方案。但是,它可以帮助你 开发/测试

  • 您可以使用增加允许的最大连接数 server.maxConnections但这也是不推荐的解决方案 生产。但是,它将允许您验证服务器硬件 容量需要升级或网络带宽需要升级。 如果您的服务器位于良好的数据中心,通常是硬件 需要升级的容量(见下两个解决方案)。

  • 如果您使用的是云服务器,请增加核心数量 请求可以更快地提供服务。

  • 通过拥有多个服务器实例来考虑负载共享 (在负载均衡器后面)。