终端、服务器性能测试工具

avatar
作者
筋斗云
阅读量:0

本人之前的一段时间测试了许多信创的终端和服务器,在进行性能测试时使用了许多测试工具,也遇到了一些问题。这些测试工具在网上都可以搜到详细的教程,我想借助这边文章将诸多测试工具的测试步骤整合一下,方便部分需要用到这些工具测试的人员查看。当然你可能会在安装或测试的过程中遇到各种各样的问题,欢迎你们的补充和交流。

1、开机时间

1.1 测试步骤

1、使用命令测试开机时间:systemd-analyze plot >boot.svg

测试结果如下

2、CPU性能-Speccpu2006

由The Standard Performance Evaluation Corporation提供, 程序测试计算密集型程序在高性能计算机上的计算效率,包含SPEC INT和SPEC FP, 分别对应整型计算机与浮点计算。根据编译方式的不同,可以分为base测试和peak测试,peak测试使用对程序包中的每个程序 使用单独的编译选项,相较于base模式会有更好的性能。根据运行方式的不同,可以分为rate测试和speed测试,rate测试 衡量计算机能够同时执行的大规模应用程序的吞吐量,speed测试衡量计算机最快速的完成某项应用程序的耗时, SPEC是一个非营利组织。

2.1 测试步骤

1、安装依赖包:apt-get install gcc g++ gfortran libbz2-dev

2、复制speccpu2006压缩包并进行解压:tar xvf speccpu2006-v1.0.1-newest.tar

3、授予权限:chmod -R a+x /home/speccpu2006-v1.0.1

4、编辑 tools/src/buildtools文件(311行和312行)

注释或删除改行:export LD_LIBRARY_PATH DYLD_LIBRARY_PATH(311行)

在312行前添加:export PERLFLAGS="-A libs=-lm -A libs=-ldl"

5、修改tools/src/make-3.8.0/glob/glob.c文件,在209行“#if !defined __alloca && !defined GNU_LIBRARY”和230行“#endif”前添加“//”注释掉。

6、安装speccpu2006:./install.sh

7、加载环境变量:. ./shrc(注意这里是:.空格./shrc)

8、检查是否安装成功:runspec -V

9、选择对应的配置文献进行测试,配置文件在config目录中,如下图:

2.2 测试命令

2.2.1、arm平台

runspec -c arm64.cfg -n 3 -r 1 all(单线程)

runspec -c arm64.cfg -n 3 -r N all(多线程)

2.2.2、X86平台

runspec -c arm64.cfg -n 3 -r 1 all(单线程)

runspec -c arm64.cfg -n 3 -r N all(多线程)

2.2.3、mips平台

runspec -c mips64.cfg -n 3 -r 1 all(单线程)

runspec -c mips64.cfg -n 3 -r N all(多线程)

-c指定测试文件,在config目录中选择适合自己CPU架构的.cfg文件;-n指定测试轮数(3轮测试的话测试完成后会自动算出Base Ratio的几何平均数)。测试完成后,会同时输出整型、浮点型性能得分。(这一部分我还是没有很深入的去研究他们的代码是怎么做的,后续研究之后继续补坑)!!!!

3、操作系统内核-lmbench

3.1 测试步骤

1、复制文件中的lmbench压缩包:tar -zxvf lmbench-3.0-a9.tgz

2、创建results目录:mkdir results

3、授予lmbench可执行权限:chmod 777 –R lmbench-3.0-a9/

4、进入lmbench目录:cd lmbench-3.0-a9/

5、执行测试:make results

3.2 测试参数设置

lmbench开始测试后会要求输入参数,其中测试内存设置大小根据自己的需求进行修改,默认为系统内存的80%。无特殊要求时,可以选择小内存进行测试,如:64MB。注:设置的内存大小对测试结果影响不大;最后一项的Mail results 输入n。其余直接回车。

3.3 结果查看

测试结束后,执行make see查看测试结果。测试结果保存在results目录下的summary.out文件中,打开文件可看到如下图的结果。

3.4 结果说明

Shell命令启动时间(exec proc)、系统信号处理时间(sig hndl)、2p/16KB的上下文切换性能(2p/16k)、16p/64KB的上下文切换性能(16p/64k)、0KB文件创建时间、0KB文件删除时间(0k File Create Delete)、10KB文件创建时间、10KB文件删除时间(10k File Create Delete)。

3.5 常见问题

1、Arm架构的CPU在进行测试时可能遇到适配问题,此时需要在步骤5之前进行文件替换。执行:cp config.guess lmbench-3.0-a9/scripts/gnu-os,其中config.guess文件位置如图:

2、如果遇到测试结果显示不全的问题,需要修改getsummary 文件。找到lmbench-3.0-a9/scripts/getsummary文件,插入以下代码:

4、测试文件复制速度-time dd

4.1 测试步骤

1、使用dd命令生成一个10G文件:dd if=/dev/zero of=test1 bs=1024M count=10

2、使用time dd命令进行文件拷贝速度和时间测试:time dd if=/data/home/inspur/test1 of=/data/home/inspur/testfile/test

说明:if为源文件地址 of为目标文件地址;生成的10G文件为全零文件,如果不想麻烦可以直接用/dev/zero生成。

测试结束后输出时间和复制速度,如下图:

注:dd命令可以做挺多事,有兴趣的可以关注一下。

5、文件读写性能-IOzone

5.1 测试步骤

1、查看硬盘情况:lsblk

2、创建一个目录用于挂载硬盘:mkdir /etc/test (此步骤必须在数据盘中进行,切勿使用系统盘)

3、挂载硬盘:mount /dev/硬盘名 /etc/test (一定要选择大于测试文件的硬盘)

4、将iozone压缩包复制到本地

5、解压iozone:tar -xvf iozone3_493.tgz

6、进行current目录:cd iozone3_493/src/current/

7、编译:make linux

8、开始测试:sudo ./iozone -s 128g -i 0 -i 1 -f /etc/test/testfile

-s:设置测试时文件大小(根据设备的内存大小来确定)

-i :设置I/O测试模式(0=write/Re-write,1=read/Re-read,2=random-read/write,3=Read-backwards … 12=preadv/Re-preadv)

-f filename: 指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中)

测试完成后输出结果,如下图:

5.2 常见问题

1、shell命令最后的文件地址保证正确(不正确的地址,测试会报错)

2、挂载硬盘大小应大于测试文件的大小。(挂载时确定测试文件的大小)

6、文件系统测试-unixbench

6.1 测试步骤

1、将unixbench压缩包复制到本地并解压:tar xvf unixbench-5.1.2.tar.gz

2、编辑Makefile文件:修改GL_LIBS行,增加参数“-lm”,如下图:

如果在测试过程中不需要测试图形化界面的性能,GRAPHIC_TESTS = defined这一行可以注释掉。

3、进入unixbench目录:cd unixbench-5.1.2

4、编译:make

5、修改Run文件,使用lscpu查看CPU核数,如果CPU是飞腾FT-2000+,核数是64核,就把参数改成64,如下图:

6、进行测试:./Run -c n (n表示使用多少线程测试)

测试结束后,输出各项得分和总得分,如下图:

6.2 常见问题

1、缺少库支持

7、内存带宽-stream

stream由Virginia University提供,通过生成四种不同模式下的内存读写操作,用于测试高性能计算机的内存带宽。 现代计算机中都是用缓存技术,为了保证测试正确反映计算机内存的读写性能,测试中使用的数据量应远大于缓存大小。

7.1 测试步骤

1、安装gfortran:apt-get install gfortran

2、将stream压缩包复制到本地,然后解压:tar xvf stream-5.9-1.tar.bz2

3、进入stream目录:cd stream-5.9-1

4、编译:make

5、进行单线程和多线程测试:./Run.sh -n 1 -n N(这里的-n参数的值根据实际CPU核数设定,如只有4核,只跑./Run -n 1 -n 4)

测试完成后,在results目录下查看结果,复制(copy)、尺度变换(scale)、矢量求和(add)、复合矢量求和(triad)

8、2D、3D性能测试

8.1 2D性能测试

1、安装unixbench,安装过程见第6章

2、输入./Run graphics命令

测试完成后,输出各项得分和总得分,如下图:

8.2 3D性能测试

1、安装glxgears:apt install mesa-utils

2、执行测试:vblank_mode=0 glxgears

测试完成后,选取5-10个连续数值求平均值,如下图:

 注:这个3D性能测试我感觉很不严谨,但是暂时还没找到更好的方法,请各位大佬指点。

9、网络传输能力-netperf

Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。

9.1 测试步骤

1、将netperf压缩包复制到本地并解压:tar xvf netperf-2.5.0.tar.gz

2、进入netperf目录:cd netperf-netperf-2.5.0/

3、编译:./configure

4、安装:make && make install

5、测试是否安装成功:netperf -h

6、服务端输入命令开放端口:netserver

7、客户端输入命令进行测试:./netperf -H xxx -t TCP_STREAM -l 60

9.2 常见问题

1、权限不足导致找不到此命令

2、configure文件需指定架构才能编译成功

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!