网络服务器的最佳 MTU 设置是多少?

网络服务器的最佳 MTU 设置是多少?

我管理着几台 Web 服务器,它们的 MTU 默认设置为 1500。有些机器的 MTU 设置为 576。我读过很多关于 MTU 的文章,我觉得我理解得足够多了,但我对路由器和用户 PC 之间的硬件当前状态不太了解。1500 是运行在公共 Web 服务器的合理 MTU 吗?还是会给某些用户带来麻烦?谢谢!fz

答案1

简短的回答是:“视情况而定”。

较长的答案是:

通常 TCP 会实现路径 MTU 发现算法(RFC1191)。

然而,问题在于中间件有时会丢弃用于此目的的 ICMP 消息“需要分片,DF 位已设置”。尽管如此,这种情况通常并不常见 - 因此您应该可以使用默认的 1500 MTU - 假设您的一方没有不必要地过滤 ICMP,连接失败将由客户端的错误配置引起。

如果主机未实现路径 MTU 发现(如果您明确禁用它),则假定 MTU 为 576。这将导致连接性能降低,因此最好不要触碰它。

因此,通常情况下,1500 应该是在绝大多数情况下运行的合理 MTU - 除非在非常特殊的情况下,您这边的防火墙管理员过于热心地阻止 ICMP远程客户端通过中间有较小 MTU 的链路的路径进行连接。但是,这种情况最好通过重新配置防火墙来解决,因此再次使用 1500 应该没问题。

答案2

当然,1500 是一个合理的值。

最佳价值确实需要您了解所使用的大量硬件和协议以及它们的工作原理。1500 是一个非常合理的起点。

我自己没用过,但是SG TCP 优化器已被推荐来帮助您调查您的系统。

综上所述,“视情况而定”这个答案是非常正确的,如果我试图优化我的网络服务器的速度,我会从一些我能更好地控制的事情开始。

答案3

frankzappa。这篇论文准确地回答了你的问题,而且读起来很快:

ftp://ftp.cup.hp.com/dist/networking/briefs/WebMTU.ps

相关内容