AWS Network负载均衡器 - 什么是客户端重置计数(以及为什么它很高)

时间:2018-03-28 17:11:07

标签: amazon-web-services amazon-elb

各种客户端/目标/ elb重置计数指标(TCP_Client_Reset_CountTCP_Target_Reset_CountTCP_ELB_Reset_Count)的文档只是说它们计算RST数据包。我试图了解RST数据包是什么,它似乎与破坏的TCP连接有关。我的负载均衡器有一个单一的,长期的,看似成功的客户端连接。为什么我看到每小时100个客户端重置的顺序?我还看到每小时大约有10个负载均衡器重置,0个目标重置。

编辑:我刚观察到增加服务器实例的大小(我正在使用Farscape - 将0.25 vCPU增加到0.5)导致每小时客户端重置减少10倍。负载平衡器重置次数没有变化。

3 个答案:

答案 0 :(得分:2)

我的预感是,这与网络负载均衡器中的一个错误有关,该错误会导致它发送100倍的健康状况检查。请参阅:NLB Target Group health checks are out of control我的理论是,如果目标实例不够快,则错误会导致健康检查连接以不干净的方式被破坏。这些损坏的健康检查连接被报告为"客户端重置"即使他们应报告为" ELB重置"或根本没有报道。

答案 1 :(得分:1)

发送TCP RST的原因有很多。有些不正常,意味着错误,有些是TCP / IP堆栈或应用程序执行的正常连接清理。

普通TCP RST的一个例子是长期连接,超过一方或另一方施加的时间限制。一旦超过时间限制,就可以“强制”关闭连接,这将产生RST。

非正常TCP RST的一个示例是由于内部错误而突然断开的应用程序。

编写得不好的应用程序在关闭连接之前不会在TCP套接字上执行正常关闭时也会导致TCP RST。

我猜你所看到的行为不是问题。但是,要真正了解,您需要对每个连接进行线跟踪和协议分析,以确切地确定发生了什么。

答案 2 :(得分:0)

负载平衡器重置计数可能更高的原因之一是因为网络负载平衡器的理想超时值为350秒。因此,如果您的TCP连接在超时之前没有得到任何确认,则负载平衡器将强制关闭该连接。