路径 MTU 和 TCP 节点延迟

路径 MTU 和 TCP 节点延迟

在连接上设置 tcp_nodelay 标志时,MTU 应该更高还是更低?我认为它应该更高,因为使用标志后数据包会变得更大?如果我错了,请纠正我。当前 mtu 是 1500

在具有 5k 个并发用户的实时服务器上运行是否安全,或者是否需要重新启动或重新启动应用程序?

 ip link set dev eth0 mtu 5000

答案1

不要触碰 MTU 设置除非你在全部的控制该网络!MTU 必须相等全部连接到网络的设备,否则您很快就会面临奇怪的连接问题,主机突然看不到部分流量。

此外,这在互联网上毫无意义。MTU 可能被限制为 1500b 或更小。你不能预计您自己的网络之外的 MTU 大于 1500b!

此外,启用 tcp_nodelay 不会导致数据包变大。它会导致更多的小数据包,因为数据是在准备好时发送的,而不是在缓冲区填满到一定程度或经过一定时间后才发送。

所以简而言之:你的假设是错误的,结果不会像你所认为的那样。

相关内容