我有 2 台 Dell PowerEdge-R620 服务器,配置如下:处理器:2 个 Intel(R) Xeon(R) CPU E5-2637 v2 @ 3.50GHz 内存:64GB 存储:10 个 SAS 硬盘(10K RPM),带 RAID 10。网卡:四端口 2 个 10GB(INTEL X540-AT2)和 2 个 1GB(INTEL I-350)操作系统:RHEL 8.3
两台服务器通过 10G 接口使用 cat7 电缆直接连接。我们想测试与 VOIP/RTP 数据包大小匹配的 UDP 数据包的网络性能。
server2 作为 iperf3 服务器运行 server2# iperf3 -s
当我在 server1 上运行以下命令时,接收端出现 20%-25% 的数据包丢失:server1# iperf3 -u --length 238 -t 30 -c server1 -b 0
如果我将比特率限制为 200Mbps(b 200M),则不会出现任何数据包丢失。一旦比特率超过 200Mbps,我就会开始看到数据包丢失。
NIC 驱动程序和固件均为最新。电缆已测试良好。#tuned-adm 列表显示当前活动配置文件:吞吐量性能。
ethtool -g eno1 显示环 RX/TX 设置为 512。将 RX/TX 更改为 1024 或 2048 没有任何区别。
iperf3 是一个单线程应用程序,我认为可能是 CPU 核心被堵塞并丢包。但是,如果我运行 2 个并行测试,每个测试的比特率为 200Mbps,就会看到丢包的情况。
我在运行测试时发现“数据包接收错误”和“接收缓冲区错误”有所增加。
# netstat -su
IcmpMsg:
InType0: 5962
InType3: 2188543
InType5: 25970
InType8: 169
OutType0: 169
OutType3: 2201341
OutType8: 6451
Udp:
798970636 packets received
488445853 packets to unknown port received
**50427006 packet receive errors**
2017757523 packets sent
**50427006 receive buffer errors**
0 send buffer errors
IgnoredMulti: 20927
UdpLite:
IpExt:
InMcastPkts: 68164
OutMcastPkts: 621
InBcastPkts: 20927
InOctets: 338232375898
OutOctets: 418403184273
InMcastOctets: 2628618
OutMcastOctets: 29705
InBcastOctets: 3387318
InNoECTPkts: 1350444521
InECT0Pkts: 9
MPTcpExt:
有什么想法吗?