我应该为数据中心内部的路线设置 rto_min 吗?

我应该为数据中心内部的路线设置 rto_min 吗?

我们在数据中心租用了几台专用服务器,装有 Debian 7、内核 3.2。

我们将其中一台服务器用作数据库服务器。我们的应用服务器和数据库服务器之间的网络不是我们专用的,而是由数据中心的其他客户使用的。

我们不时会发现这条线路上有 TCP 重传。我们认为这是由于拥塞或 DDoS 攻击造成的。我们的提供商会尝试阻止攻击,但当然并不总是能立即成功。

无论如何。通常我们的应用服务器会在 20 毫秒内从数据库获取结果,因为数据库服务器非常快,往返时间 (RTT) 平均值为 0.3 毫秒(因此低于 1 毫秒)。

当 TCP 数据包在此线路上丢失时,重新传输超时 (RTO) 就会启动。它由往返时间计算,但至少为 200 毫秒。因此,当一个数据包需要重新传输时,由于 RTO,我们的应用服务器有 220 毫秒的时间才能获得其数据。

对于我来说,rto_min=200ms 对于 rtt 低于 1ms 的链接来说似乎太高了。

可以ip像这样设置 rto_min:

ip route change default via 144.76.176.65 dev eth0 rto_min 5ms

RTO 仍在计算,但由于我们的 RTT 非常小,因此可以降至 5ms。

我应该考虑这一点吗?或者将 rto_min 设置得太小会不会造成其他 TCP 陷阱?rto_min 的合理值是多少?或者最好不要触碰它?

相关内容