我有一个有 32 台机器的集群。前 25 台机器在第一个机架上,其余 7 台机器在第二个机架上。每个机架都有一个 1Gbps 以太网交换机。不同机架之间的网络通信肯定会有性能损失(我不完全知道)
我使用“iperf”之类的网络性能基准测试工具来测量机器之间的网络速度。没有问题(32台机器之间的所有点对点连接都可以充分利用带宽)。
但是,在我的应用程序中(请求/响应网络通信架构对延迟敏感)。机架间网速比机架内网速慢4~5倍。
有什么我可以在这里做的吗?有什么众所周知的策略可以应用吗?
我有一个有 32 台机器的集群。前 25 台机器在第一个机架上,其余 7 台机器在第二个机架上。每个机架都有一个 1Gbps 以太网交换机。不同机架之间的网络通信肯定会有性能损失(我不完全知道)
我使用“iperf”之类的网络性能基准测试工具来测量机器之间的网络速度。没有问题(32台机器之间的所有点对点连接都可以充分利用带宽)。
但是,在我的应用程序中(请求/响应网络通信架构对延迟敏感)。机架间网速比机架内网速慢4~5倍。
有什么我可以在这里做的吗?有什么众所周知的策略可以应用吗?
好吧,我认为您已经确定了您的问题:两个交换机之间的链接争用。
看,您的每台交换机都有一个多千兆位背板。这意味着,根据交换机的能力,交换机可以同时支持多个全双工千兆位传输。但是,交换机之间的链路只有一个千兆位全双工。所以这个链接会饱和,然后事情就会变慢。
要确认这是正在发生的事情,请在您的速度测试期间为您的交换机添加监控并检查您的上行链路端口的统计信息。
确认后,您有几个选择。首先,考虑在交换机之间使用 802.3ad LAG 上行链路。这将不允许任何一个流超过 1Gbit,但是您将能够支持多个并发 1Gbit 流,其数量取决于您使用的 LAG 成员端口的数量。
另一种选择是升级到可以支持 10Gb 上行链路的交换机。