前面的测试测了一半(还得是华为,OpenEuler打流能到37 Gbps),因为没搞过Debian系统的编译安装,导致Debian和Ubuntu系统中无法编译安装最新的iperf和iperf3工具,使用库里面自带的低版本工具不能保证数据准确性。
今天来尝试解决一下编译安装的问题。
编译安装iperf和iperf3
首先,卸载掉前面安装的旧版本。
apt remove -y iperf iperf3
通过了解,build-essential包中包含编译程序必需的软件包,查看该软件包的依赖关系。
除了之前安装的gcc和g++之外,还有一些其他组件,安装这个build-essential包试一下。
apt-get update
apt-get install -y build-essential
重启虚拟机,然后下载iperf3,并编译安装。
wget https://downloads.es.net/pub/iperf/iperf-3.12.tar.gz
tar -zxf iperf-3.12.tar.gz
cd iperf-3.12
./configure && make && make install
安装完成后,查看iperf3的版本信息。
接下来下载iperf,并编译安装。
wget https://jaist.dl.sourceforge.net/project/iperf2/iperf-2.1.8.tar.gz
tar -zxf iperf-2.1.8.tar.gz
cd iperf-2.1.8
./configure && make && make install
安装完成后,查看iperf的版本信息。
Ubuntu 20.04系统测试
接下来就可以参考前面的操作方法来进行测试了(),先使用5个TCP线程来测试一下iperf的打流效果。
10.8 Gbps?有点不争气啊。再测试一下6-9个TCP线程的效果。
最大带宽都没有超过11 Gbps,看来是真不争气。对调角色再测试一下。
有所改善,带宽超过了16 Gbps。要说两台虚拟机有什么差异,我看了一下同样是8核心,但是配置方式不一样。
78这一台是1核*8插槽,相当于8颗单核CPU。
而77这一台是8核*1插槽,相当于1颗8核心CPU。没相当还回到了之前验证过的问题上(Win7任务管理器CPU性能引发的思考)。之前的结论是尽量选择使用高性能的单颗CPU,多路CPU可以提升性能,但并不会带来性能的线性增长。
所以,我们把78这一台也调整成8核*1插槽,再测试一下。
可以看到,虽然提升不大,但是确实从不到11 Gbps提升到了13 Gbps。还不如Ubuntu 18.04呢。
再换用iperf3看一下。
最终在4个TCP线程时测得最大带宽14.1 Gbps。
综合可以得到,Ubuntu 20.04是真的菜,千万不要用它做流量发生器。
Debian系统测试
通过Ubuntu中复习的CPU配置的知识,我先调整一下两台主机的CPU配置。70这台是4核1插槽,83这台是4核2插槽;70是4 GB内存,83是8 GB内存。
然后参考Ubuntu系统,编译安装好测试工具iperf。
在192.168.1.83作为服务器时,带宽最大值为8个TCP线程下的29.3 Gbps。
在192.168.1.70作为服务器时,可以明显感觉到带宽增大了,再使用5-10个TCP线程时,带宽均超过了30 Gbps,带宽最大值为7个TCP线程下的33.3 Gbps。说明CPU高配还是有影响的。
总结
结合昨天的测试,简单总结一下测试结果。
1、仓库里的软件版本都比较低,使用新版本需要编译安装;
2、编译安装需要提前确认编译环境没有问题,必备组件是gcc和g++;
3、因为iperf支持多CPU、多线程,所以整体测试结果比iperf3要高得多;
4、线程数也不是说越多越好,需要多测试几次找到合适的线程数或范围;
5、CPU配置和测试结果也有密切关系,总核心数相同的情况下,不同的CPU插槽数量也存在差异;
6、RHEL阵营,OpenEuler性能最高,至少可以达到37.2 Gbps;Debian阵营,原生系统性能最高,至少可以达到33.3 Gbps。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/424950.html