高 TCP 重传百分比是拥塞的决定性指标吗?

网络工程 tcp 故障排除 拥塞
2022-02-08 08:35:06

我有一个 web 服务器,它的 perfmon stats 报告 TCP 重传率约为 10%。

我还有一个客户大量使用此服务器,报告性能不佳。

当我们将服务器移动到新的托管设施时,性能问题就开始了。

高重传率是否强烈表明服务器和客户端之间存在拥塞问题?

我已经完成了服务器和客户端公共 IP 之间的跟踪路由,并且 RTT 时间一直很好。这一证据是否削弱了拥堵的理由?

3个回答

高重传百分比是出现问题的明确标志但不幸的是,这并不总是表明拥堵是问题的直接迹象。如果您可以提供一些数据包捕获,这将帮助我们帮助您确定问题所在。

我还建议全天运行 1000 次 ping。查看产生的往返时间 (RTT) 和产生的数据包丢失百分比。这些都告诉你一些不同的东西。通常,高 RTT 意味着拥塞,而高丢包率则表明路径不可靠(这也可能是由于多种不同的原因)。

这不一定是网络问题。如果新设施存在其他资源匮乏(内存、处理器可用性等)并且 NIC 是虚拟的,则可能会丢弃数据包。

您可以通过启动 echo 服务器并尝试使用 nc(在 linux 下)向端口发送越来越多的随机流量来使其饱和,从而测试它是否真的是网络问题或处理问题。看看你的吞吐量是否高于你的客户。那么您可能正在处理无法应对处理负载的服务器。(可能!!!)

即使饱和测试不会产生相同的数据包丢失,它仍然可能是一个网络问题,但是,至少,如果您要生成更真实的网络流量模拟,那么只需 ping。

不一定是网络拥塞,因为数据包中的错误也可能导致重传,因为使用了 TCP