为什么HAProxy建议设置超时为3秒的倍数?

时间:2013-04-15 23:25:28

标签: tcp haproxy

来自HAProxy documentation on client timeouts

  

一个好的做法是覆盖一个或多个TCP数据包丢失   指定稍微超过3秒的倍数的超时   (例如:4或5秒)。

这似乎是一个任意数字。 3秒数字有什么意义?

1 个答案:

答案 0 :(得分:2)

这似乎是默认的TCP重新传输超时。来自this Microsoft KB article

  

TCP在每个出站段启动时启动重新传输计时器   传世知识产权。如果未收到数据确认   在计时器到期之前的给定段中,该段是   重新传输,直到TcpMaxDataRetransmissions时间。默认   此参数的值为5.

     

TCP时,重传定时器初始化为3秒   建立联系;但它会“动态”调整为   使用平滑往返匹配连接的特征   RFC793中描述的时间(SRTT)计算。给定的计时器   在每次重新传输该段后,段加倍。运用   这个算法,TCP调整自己的“正常”延迟   连接。高延迟链路上的TCP连接将花费很多   比那些低延迟链接更长的时间超时。