性能测试工具:Unixbench lmbench stream iozone fio netperf spec2000 spec2006
一、unixbench
unixbench主要是用于系统基础性能测试,unixbench也包含一些非常简单的2D和3D图形测试
UnixBench一个基于系统的基准测试工具,不单纯是CPU 内存 或者磁盘测试工具。测试结果不仅仅取决于硬件,也取决于系统、开发库、甚至是编译器
【测试步骤】
1、下载工具并解压
tar -xvf UnixBench5.1.3-1.tar.bz2
#cd unixbench-5.1.3-1
2.修改解压后文件夹中的Makefile文件:
修改第50行:
GL_LIBS = -lGL -lXext -lX11
为
GL_LIBS = -lGL -lXext -lX11 -lm
3.编译:#make all
4.查看CPU核数:#lscpu
5.执行测试:
单线程测试 ./Run -c 1
四线程测试 ./Run -c 4
八线程测试 ./Run -c 8
十六线程测试 ./Run -c 16
三十二线程测试 ./Run -c 32
二、lmbench
用时间、shell命令启动时间、系统信号处理时间、统计2p/16K的上下文切换性能、16p/64K的上下文切换性能、0K/10K文件创建时间、0K/10K文件删除时间
Lmbench 是一款简易可以移植的内存测试工具,其主要功能有,带宽测评(读取缓存文件、拷贝内存、读/写内存、管道、TCP),延时测评(上下文切换、网络、文件系统的建立和删除、进程创建、信号处理、上层系统调用、内存读入反应时间)等功能。
【测试步骤】
1.将lmbench工具拷贝到系统下,并解压赋权限:
#tar -xvf lmbench-3.0-a9-1.tar.bz2
#cd lmbench-3.0-a9-1
#chmod -R 777 *
2.进入lmbench目录,终端执行:
#make results 进入交互式模式
根据提示信息,选择默认设置回车继续,其中,在选择内存的时候输入10000,保证测试能够尽可能的加快,邮件时选择no
MULTIPLE COPIES[DEFAULT 1]: (默认回车)
Job placement selection[DEFAULT 1]: (默认回车)
MB[default 182159]:4096 (输入4096)
SUBSET (ALL|HARWARE|OS|DEVELOPMENT)[default all]:(默认回车)
FASTMEM[default no]:(默认回车)
SLOWFS[default no]: (默认回车)
DISKS[default none]:(默认回车)
REMOTE[default none]: (默认回车)
Processor mhz[default 2599MHz,0.3848 nanosec clock]: (默认回车)
FSDIR[default /usr/tmp]: /usr/tmp
Status output file [default /dev/tty]: (默认回车)
Mail results [default yes]: no (设置为no)
3.进入lmbench目录,终端执行:
#make see
三、stream
Stream测试是一个简单的综合基准测试程序,它测量可持续的内存带宽(MB/s)。Stream通过fortran和c两种高级且高效的语言编写完成,由于这两种语言在数学计算方面的高效率, 使得stream测试例程可以充分发挥出内存的能力。Stream对于CPU的计算能力要求很小,对CPU内存带宽压力很大。
1.Copy是复制操作
从内存单元中读取一个数,并复制到其他内存单元中
2.Scale是乘法操作
从内存单元中读取一个数,与常数相乘,得到的结果存到其他内存单元。
3.Add是加法操作
从两个内存单元中分别读取两个数,将其进行加法操作后,得到的结果写入另一个内存单元中。
4.Triad是加法、乘法和复制三种操作的结合
从内存中读取一个数,与一个常数相乘得到一个乘积,然后从另一个内存单元中读取一个数与刚才乘积结果相加,得到的结果写入内存。
测试的一般规律是Add>Triad>Copy>Scale。因为一次Add和Triad操作都需要三次访问内存,Copy和Scale操作需要进行两次访问内存,访问内存次数越多越能够掩盖访存延迟,带宽越大。
【测试步骤】
1.登录系统,将stream工具包拷贝至系统
2.在终端中输入:
$sudo su
#tar -xvf stream-5.9-1.tar.bz2
#cd stream-5.9-1
#make
3.继续执行如下步骤:
#./Run.sh -n 1 -n 4 -n 8 -n 16
【注】这里的-n参数的值根据实际CPU核数设定,如只有4核,只跑./Run -n 1 -n 4
四、iozone
测试硬盘读写性能(Mb/s),包括随机和顺序读写平均读写速度(IOzone设置块大小16M,文件大小为物理内存2倍、1倍、1/2倍三组数据)
Iozone执行以下操作测试文件I/O性能:
Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read/write, pread/pwrite variants, aio_read, aio_write, mmap
【测试步骤】
1.登录系统,拷贝iozone测试工具包至系统
2.解压工具:#tar -xvf iozone.tar -C /home/kylin
安装工具:#cd /home/kylin/iozone/src/current
编译 make
安装:
arm平台执行该步骤执行如下命令:#make linux-arm
x86平台执行该步骤执行如下命令:#make
龙芯平台执行该步骤使用如下命令:#make linux
3.输入执行命令:sudo ./iozone -s *G -r 16M -i 0 -i 1 -i 2 -f /home/data -Rb .xls
//.xls为测试结果文件,可自己定义成自己理解的文件名,但是后缀一定是xls
//-s参数是指文件大小,分别设置为物理内存的2倍、1倍、1/2倍测试
//-r制定测试块的大小
//-f参数是指定测试文件的名字,完成后会自动删除(这个文件必须指定你要测试的那个硬盘中)
//-i #用来指定运行哪个测试。 (0=write/rewrite, 1=read/re-read, 2=random-read/write
3=Read-backwards, 4=Re-write-record, 5=stride-read, 6=fwrite/re-fwrite, 7=fread/Re-fread,
8=random mix, 9=pwrite/Re-pwrite, 10=pread/Re-pread, 11=pwritev/Re-pwritev, 12=preadv/Re-preadv).
总是需要先进行0号测试以便后面的测试有文件可以测试。
也支持使用-i # -i # -i # 以便可以进行多个测试。
五、fio
FIO 是一个多线程IO生成工具,可以生成多种IO模式(随机、顺序、读、写四大类),用来测试磁盘设备的性能。GFIO是FIO的图形监测工具,它提供了图形界面的参数配置,和性