我们正在尝试在两个服务器之间设置一个40 40gbit连接,并在使用iperf时获得奇怪的cpu行为。它也只使用了大约10 10Gbit/s的可能的40。
服务器规范:
服务器通过光纤直接连接在一起。没有开关。
host1# iperf -s
host2# iperf -c host1 -i 1 -t 120
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 1.39 GBytes 12.0 Gbits/sec
[ 3] 1.0- 2.0 sec 1.00 GBytes 8.61 Gbits/sec
[ 3] 2.0- 3.0 sec 1.03 GBytes 8.88 Gbits/sec
[ 3] 3.0- 4.0 sec 1.04 GBytes 8.92 Gbits/sec
[ 3] 4.0- 5.0 sec 1021 MBytes 8.56 Gbits/sec
[ 3] 5.0- 6.0 sec 1.05 GBytes 9.01 Gbits/sec
[ 3] 6.0- 7.0 sec 1.02 GBytes 8.78 Gbits/sec
[ 3] 7.0- 8.0 sec 1.02 GBytes 8.74 Gbits/sec
[ 3] 8.0- 9.0 sec 1.01 GBytes 8.69 Gbits/sec
[ 3] 9.0-10.0 sec 1.02 GBytes 8.75 Gbits/sec
[ 3] 10.0-11.0 sec 1.05 GBytes 9.03 Gbits/sec
[ 3] 11.0-12.0 sec 1015 MBytes 8.51 Gbits/sec
[ 3] 12.0-13.0 sec 1.02 GBytes 8.72 Gbits/sec
[ 3] 13.0-14.0 sec 1014 MBytes 8.51 Gbits/sec
[ 3] 14.0-15.0 sec 974 MBytes 8.17 Gbits/sec
[ 3] 0.0-15.0 sec 15.6 GBytes 8.92 Gbits/sec在互联网上,我找到了来自AMD和fasterdata.es.net的官方性能调优指南。
他们建议进行某些系统设置,比如更改CPU调控器和tcp缓冲区。我做了相应的改变,只得到1Gbit/s的进步。
当我检查CPU时钟速度时,当运行iperf时,CPU总是锁定在400 the左右。
对于为什么iperf发送CPU休眠或者我如何提高单线程tcp传输速度有什么建议吗?运行多个tcp线程更好地利用了带宽,但不是我们的用例。
谢谢
发布于 2021-09-21 13:21:22
我将BIOS中的全局C状态控件从自动更改为禁用和设置
调优adm配置文件网络吞吐量
我不知道这是否是最终的解决办法,但它目前是可行的。
编辑:
最后,bios更新也是必要的。然而,调优-adm仍然提供了性能提升。
https://serverfault.com/questions/1077898
复制相似问题