我有 1 个客户端(A)和 2 个服务器(B 和 C)。服务器使用不同数量的 CPU 进行负载平衡,我想找出根本原因。我怀疑这可能是网络速度问题,所以我运行了 iPerf3 测试,我在网上了解到这是测试网络速度的常用方法
AB 和 AC 的结果具有可比性
iPerf3 AB:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 4.77 GBytes 4.09 Gbits/sec 947 sender
[ 5] 0.00-10.00 sec 4.76 GBytes 4.09 Gbits/sec receiver
iPerf3 AC:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 5.28 GBytes 4.54 Gbits/sec 30 sender
[ 5] 0.00-10.00 sec 5.28 GBytes 4.54 Gbits/sec receiver
所以我排除了网络的可能原因,但最终我开始通过卷曲服务器进行调试,并注意到网络传输速度存在一致的差异
卷曲AB:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 271k 100 263k 100 7748 847k 24877 --:--:-- --:--:-- --:--:-- 870k
卷曲交流:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 271k 100 263k 100 7748 1977k 58060 --:--:-- --:--:-- --:--:-- 2041k
事实证明,Pod B 运行r5a.12xlarge
的网络性能为 10Gbps,而 Pod C 运行的r5b.24xlarge
网络性能为 25Gbps。
我有两个问题。
为什么 iPerf3 无法发现网络带宽的差异,但curl 可以?我是否没有发送足够的数据来揭示网络带宽的差异?但curl也只发送271k。
为什么卷曲速度设置为 870 和 2041kbps?与 4.5Gbps 时的性能相同。看起来很随意。
我是测量网络吞吐量的新手,我真的很好奇为什么会这样。