performance使用手册
编写人:夏欣悦 | 编写日期:2021–12–27 |
审核人: | 审核日期: |
批准人: | 批准日期: |
麒麟软件有限公司
版本说明
日期 | 版本号 | 发布说明 | 编写者 | 签批人 | ||
角色 | 人员 | 签字 | ||||
2021–12–27 | V1.0 | 新建 | 夏欣悦 |
|
|
|
2022-03-15 | V1.1 | 新增申威架构适配 | 夏欣悦 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目录
1. 引言
此文档主要介绍测试服务器性能的方法,包括自动化测试方法和手动测试方法。
2. 概述
Performance工具包整合了性能测试工具和自动化测试脚本,方便本地自动化测试或者手动测试。
2.1 测试环境
硬件环境:x86_64、aarch64、mips64el、loongarch
软件环境:Kylin Linux Advanced Server V10(SP1)
Kylin Linux Advanced Server V10(SP2)
2.2 测试要求
1. 配置好yum 源;
2. 系统已安装python,用来执行测试结果转json脚本,此脚本兼容python2和python3;
3. speccpu测试满线程需要满足,内存大于2G * 线程数,speccpu安装磁盘空间(一般安装在/home)要为每个线程预留 2到3G硬盘空间。
4. stream测试默认测试DN=80000000,若L3缓存(lscpu查看)大于160M则需要调整DN,简单计算DN=L3(MB)*1000000 / 2,否则测试结果会因测试缓存虚高;若空闲内存小于1850MB,需要清理内存或者根据以上公式调整DN,否则测试结果会因内存不足偏低。
3. performance工具包结构说明
tools :以测试工具命名的文件夹分类存放的工具包
config :以测试工具命名的文件夹分类存放的配置文件
script :以测试工具命名的文件夹分类存放的测试工具用到的脚本
根目录 :放置自动化测试脚本
results :放置测试结果
json :存放处理后的测试数据,用于生成excel或上传性能平台
4. 性能测试
4.1 综合性能Unixbench测试
3.1.1 测试目的
用unixbench工具验证系统综合性能。
4.1.3 预置条件
准备好performance测试工具
4.1.4 自动测试步骤
1. 脚本参数说明:
执行 bash Unixbench.sh –h可以查看帮助信息
single 测试系统单线程性能
multi 测试系统多线程性能
base 测试系统单线程和多线程性能
2. test_opt.h测试参数设置
UNIXBENCH_VERSION unixbench工具版本
3. 执行测试:
# cd Performance
# bash Unixbench.sh base
4.1.5 手动测试步骤
1. 解压UnixBench测试套件unixbench5.1.3-new.tar
# tar xvf unixbench5.1.3-new.tar
2. 修改Run文件
修改第109行:
‘system’ => { ‘name’ => “System Benchmarks”, ‘maxCopies’ => 64 },
为‘system’ => { ‘name’ => “System Benchmarks”, ‘maxCopies’ => 1024 },
修改第112行
‘misc’ => { ‘name’ => “Non-Index Benchmarks”, ‘maxCopies’ => 64 },
为‘misc’ => { ‘name’ => “Non-Index Benchmarks”, ‘maxCopies’ => 1024 },
3. 安装依赖包 libx11-devel libXext libXext-devel
# yum install libx11-devel libXext libXext-devel
4. 进入Unixbench解压后的目录下,编译:
# cd UnixBench
# make
5. 清除缓存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
6. 测试单线程和多线程性能,执行命令:
# ./Run -c 1 -c N
// 其中N代表cpu核数8. 查看results 文件夹下的测试结果。
4.2 网络性能Netperf测试
4.2.1 测试目的
使用Netperf工具测试系统网络性能。
4.2.1 预置条件
1. 准备好performance测试工具;
2. 准备被测机器A和陪测机器B,并用网线直连,直连后检查网口速度正常;
3. 被测机器A和陪测机器B都关闭防火墙;
# systemctl stop firewalld
# iptables -F
4.2.2 自动测试步骤
1. 脚本参数说明:
执行 bash netperf.sh –h可以查看帮助信息
tcp_stream 测试TCP吞吐率
udp_stream 测试UDP带宽
tcp_rr 测试TCP传输速度
udp_rr 测试UDP传输速度
ping_sh 测试网络延时
trans_rate 测试网络传输速率
omni 测试网络响应时间
tcp_crr 测试TCP_CRR性能
desktop 包括TCP_STREAM UDP_STSREAM TCP_RR UDP_RR ping
server 包括TCP_STREAM UDP_STAREAM TCP_RR UDP_RR TCP_CRR omni trans
2. test_opt.h测试参数设置
NETPERF_VERSION netperf工具版本
NETPERF_TIME 测试时间,默认120s
NETPERF_SIP 服务端IP
NETPERF_USER 服务端用户名
NETPERF_PWD 服务端密码
NETPERF_SDIR 服务端脚本安装目录,默认”/opt”
3. 执行测试:
# cd Performance
# bash netperf.sh server
4.2.3 手动测试步骤
1. 在被测机A和陪测机B上均安装netperf:
解压netperf:# unzip netperf-2.7.0.zip
进入netperf文件夹中打开终端执行:
arm架构中执行:
# ./configure –build=arm-linux && make && make install
x86架构中执行:
# ./configure && make && sudo make install
龙芯/lonngarch架构中执行:
# ./configure –build=mips-linux && make && make install
申威架构中执行:
# ./configure –build=none && make && make install
2. 在陪测机器B上开启netperf服务:# netserver
3. 被测机器A作为客户端:打开终端运行相应命令测试
TCP吞吐率:
# netperf -H serverip -t TCP_STREAM -l 120
TCP传输速度:
# netperf -H serverip -t TCP_RR -l 120
UDP带宽测试:
# netperf -H serverip -t UDP_STREAM -l 120
UDP传输速度测试:
# netperf -H serverip -t UDP_RR -l 120
ping测试:
# ping serverip
网络传输速率trans测试:
# netperf -H serverip -l 120
网络相应时间omni测试:
# netperf -t omni -H serverip — -d rr -l 120 -O “THROUGHPUT,THROUGHPUT_UNITS,MIN_LATENCY,MAX_LATENCY,MEAN_LATENCY”
// 参数含义:-t 选择测试模式、-H 后面接serverip,即A机器IP、-l 测试时间
TCP_CRR测试:
# netperf -H serverip -t TCP_CRR –l 120
4.3 磁盘IO性能fio测试
3.3.1 测试目的
测试操作数据盘读写性能。
4.3.1 预置条件
准备好performance测试工具
4.3.2 自动测试步骤
1. 脚本参数说明:
执行 bash fio.sh –h可以查看帮助信息
–s 或 server_performance 服务器读写性能测试
2. test_opt.h测试参数设置
FIO_VERSION netperf工具版本
FIO _CPU 测试线程数,默认是测试机线程数,最大值为16
FIO _IODEPTH 队列深度,默认32
FIO _FILENAME 测试路径,默认/fio_test
FIO_TESTNUM 测试次数,默认是1
3. 执行测试:
# cd Performance
# bash fio.sh -s
4.3.3 手动测试步骤
1. 安装libaio引擎:
# yum install libaio1 libaio-devel
mips架构的libaio-0.3.111-5-p01.ky10.mips64el和libaio-devel-0.3.111-5.p01.ky10.mips64el 有问题,无法使用libaio引擎。
如果yum安装后查看libaio和libaio–devel为以上版本,则需要手动安装config/fio/目录下的两个rpm包。
2. 检查/usr/include/asm是否存在,若不存在则建立软链接:
# ln -s /usr/include/asm-generic /usr/include/asm
3. 解压 fio-3.20.tar.bz2:
# tar -xjf fio-3.20.tar.bz2
4. 进入安装目录:
# cd fio-3.20
5. 安装fio:
如果是mips架构则执行
# ./configure –extra-cflags=”-march=mips64”
其他架构是:
#./configure
编译安装:
# make && make install
6. 清理缓存
# sync
# echo 1 > /proc/sys/vm/drop_caches
# echo 2 > /proc/sys/vm/drop_caches
# echo 3 > /proc/sys/vm/drop_caches
# sync
7. 4K写测试:
# fio -filename=/fio_test -direct=1 -iodepth 32 -thread -rw=write -ioengine=libaio -bs=4K -size=5120M -runtime=600 -numjobs=$CPUN -group_reporting -name=./4K_write.result >> ./4K_write.result
// $CPUN更改为CPU核数
8. 清理缓存及测试文件,等待60s
# sync
# echo 1 > /proc/sys/vm/drop_caches
# echo 2 > /proc/sys/vm/drop_caches
# echo 3 > /proc/sys/vm/drop_caches
# sync
# rm /fio_test
# sleep 60s
9. 将-bs参数分别设置为4K、128K、1M,将-rw分别设置为read、write、randread、randwrite,依次进行组合测试。
每次测试完需要执行步骤8清理缓存及测试文件,之后再进行下一次测试。
4.4 内存读写性能stream测试
4.4.1 测试目的
用stream工具验证操作系统内存读写性能。
4.4.1 预置条件
1. 准备好performance测试工具
2. 系统已安装 gcc 和 make
4.4.2 自动测试步骤
1. 脚本参数说明
-s 或 server_performance 服务器性能测试,array_size=80000000 ntimes=100
–array_size 自定义测试数组元素数 Array size
-ntimes 自定义测试次数 NTIMES (默认测试100次取最优值)
2. test_opt.h测试参数设置
STREAM_VERSION stream工具版本
STREAM_TESTNUM 测试次数,默认1
STREAM_NTIMES 编译参数ntimes,默认100
STREAM_SIZE 编译参数 array_size , 默认80000000
STREAM_CPU 测试线程数,默认测试机满线程
3. 执行测试
# bash stream.sh -s
4.4.3 手动测试步骤
1. 解压stream工具stream-5.9-1.tar.bz2:
# tar xvf stream-5.9-1.tar.bz2
2. 进入到解压目录执行编译:
# cd stream-5.9-1
# make clean
# make SET=TRUE N=80000000 NTIMES=100
3. 清除缓存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
# sleep 10s
4. 同时运行单线程和多线程测试
#./Run.sh -n 1 -n 64
//若CPU核数为64,则多线程数为64
或者直接运行编译好的stream
# ./stream > ./O2_1.result
# ./stream_O3 > ./O3_1.result
# export OMP_NUM_THREADS=64 //若cpu核数是64,则设置为64
# ./stream_mu > ./O2_64.result
# ./stream_mu_O3 > ./O3_64.result
4.5 系统综合性能lmbench测试
4.5.1 测试目的
使用lmbench验证系统综合性能
4.5.1 预置条件
1. 准备好performance测试工具
2. 安装rpcbind包并启动portmap服务:
# sudo yum -y install rpcbind
# service rpcbind start
4.5.2 自动测试步骤
1. 脚本参数说明
-s 或 server_performance 服务器性能测试
2. test_opt.h测试参数设置
LMBENCH_VERSION lmbench工具版本
LMBENCH_TESTMEM 测试内存,服务器限制最大测试16384M
3. 执行测试
# bash lmbench.sh -s
4.5.3 手动测试步骤
1. 解压lmbench测试工具包:
# tar xvf lmbench-3.0-a9-1.tar.gz
2. 修改文件(若为x86架构则跳过这步):
# sed -i ‘s/arm/aarch/’ scripts/gnu-os
3. 修改lmbench/src/lib_mem.c文件中line_initialize函数(第367行),修改为long i, j, nlines, npages;
4. 拷贝配置文件到lmbench的scripts目录:
配置文件包括:
script目录下的config-run 和 os
config目录下的 lmbench.config.desktop
将拷贝后的lmbench.config.desktop改名为lmbench.config
给scripts赋执行权限;
# chmod 777 –R scripts
5. 若内存大于24GB,则将lmbench.config第17行“TESTMP=$MB”修改为“TESTMP=16384”,或根据用例设置为其他值,要大于4倍缓存;
6. 进入到lmbench目录下,
若是arm架构机器执行:
# sed -i ‘s/arm/aarch/’ scripts/gnu-os
7. 清除缓存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
8. 执行测试:
# make results
//若测试多次,则重复步骤7-8
9. 测试完成后,进入./results/**-linux-gnu文件夹中,执行:
# sed -i ‘/\/dev\/tty: /d’ `ls ./`
# sed -i ‘/\[net:/d’ `ls ./`
# sed -i ‘/\[if:/d’ `ls ./`
# sed -i ‘/\[mount:/d’ `ls ./`
10. make see 查看结果。
进入到lmbench目录下
# make see
结果存放在results/summary.out
4.6 硬盘读写性能iozone测试
4.6.1 测试目的
使用iozone验证系统硬盘读写性能
4.6.1 预置条件
1. 准备好performance测试工具;
2. 可用磁盘空间大于2倍内存
3. 若运行2倍内存自动测试,即脚本参数选择为m2test或server_performance时,需要使内存小于64GB。
若内存大于64GB建议修改内存为64GB或拔掉多出的内存条再测试:
(1)备份: cp /boot/efi/EFI/kylin/grub.cfg /boot/efi/EFI/kylin/grub.cfg.bak
(2)获取修改行号: cat -n /boot/efi/EFI/kylin/grub.cfg |grep \`uname -r\`|grep \”root=\”
(3)修改grub.cfg 的从第二步获取的行,增加mem=62464M
修改: vim /boot/efi/EFI/kylin/grub.cfg
例:原– linux /vmlinuz-4.19.90-21.2.ky10.x86_64 root=/dev/mapper/klas-root ro crashkernel=auto resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet quiet crashkernel=512M
改– linux /vmlinuz-4.19.90-21.2.ky10.x86_64 root=/dev/mapper/klas-root ro crashkernel=auto mem=62464M resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet quiet crashkernel=512M
(4)重启 reboot进行测试
(5)注意测试完成后恢复grub.cfg:
# mv /boot/efi/EFI/kylin/grub.cfg.bak /boot/efi/EFI/kylin/grub.cfg
4.6.2 自动测试步骤
1. 脚本参数说明
-s 或 server_performance 服务器性能测试(2倍内存,块大小从64K到16M)
-d 或 desktop_performance 桌面性能测试(块大小16M,-s参数分别为内存的0.5倍,1倍,2倍)
uos uos系统测试
m2test 2倍内存,块大小从64K到16M
64kt4 -s 1g –r 64k –t4 –i 0 –i 1
64kt1 -s 1g –r 64k –i 0 –i 1
2. test_opt.h测试参数设置
IOZONE_VERSION iozone工具版本
IOZONE_TESTPATH 测试路径,默认/iozone
IOZONE_TESTNUM 测试次数,默认测1次
IOZONE_TEST_Y -s参数时测试块范围最小值,默认64K
IOZONE_TEST_Q -s参数时测试块范围最大值,默认16M
IOZONE_TEST_N -s参数时测试文件范围最小值,默认2倍内存
IOZONE_TEST_G -s参数时测试文件范围最大值,默认2倍内存
3. 执行测试
# bash iozone.sh –d
一般测试-d情况较多
4.6.3 手动测试步骤
1. 检查/usr/include/asm是否存在,若不存在则建立软链接:
# ln -s /usr/include/asm-generic /usr/include/asm
2. 解压iozone测试工具:
# tar xvf iozone3_430.tar
3. 进入iozone目录下src/current路径,进行编译:
# cd iozone3_430/src/current
在arm架构中执行:
# make linux-arm
x86架构中执行:
# make linux-AMD64
龙芯架构中执行:
# make linux
loongarch架构中执行:
# make linux-ia64
申威架构执行:
# make linux-ia64
4. 分别设置iozone测试大小为物理内存大小的2倍,1倍,1/2倍大小,3组测试分别执行:
假设整机物理内存64G,执行测试中根据实际情况修改-s参数
2倍内存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
# ./iozone -i 0 -i 1 -i 2 -f /iozonetest -r 16M -s 128G -Rb /results/iozone/iozoneresult2.xls
1倍内存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
# ./iozone -i 0 -i 1 -i 2 -f /iozonetest -r 16M -s 64G -Rb /results/iozone/iozoneresult1.xls
0.5倍内存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
# ./iozone -i 0 -i 1 -i 2 -f /iozonetest -r 16M -s 32G -Rb /results/iozone/iozoneresult0_5.xls
// 注:-f参数指定测试文件的名字,测试完成后会自动删除。同时,这个文件必须指定在你要测试的那个硬盘里,所以,在要测试的硬盘里找个大于2倍内存的分区,一般是/分区,或者是data分区,如/iozonetest
4.7 java性能测试specjvm
4.7.1 测试目的
验证JAVA性能
4.7.1 预置条件
1. 准备java虚拟机相关安装包SPECjvm2008.jar
2. 安装相关软件包:java-1.8.0-openjdk-devel
3. 若java不为1.7,则需替换/usr/下所有ct.sym文件
4.7.2 自动测试步骤
1. 脚本参数说明
base 默认测试运行方式,系统统一配置测试全部子项的分
peak 测试配置各不相同的分,系统每个子项独立调优
all base和peak都测试
2. test_opt.h测试参数设置
无
3. 执行测试
# bash specjvm.sh all
4.7.3 手动测试步骤
1. 使用yum源安装java环境,操作命令:
# yum install -y java-1.8.0-openjdk-devel
申威架构的Java包名称与其他架构不同
# yum install -y java-1.8.0-swjdk-devel
2. 配置环境变量,执行下面操作
# vim /etc/profile
在最底部添加
export JAVA_HOME=/usr/lib/jvm/ java-1.8.0-openjdk-1.8.0.242.b08-1.h5.ky10.x86_64
export JRE_HOME=/usr/lib/jvm/ java-1.8.0-openjdk-1.8.0.242.b08-1.h5.ky10.x86_64/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存成功后,为保证环境变量有效,执行操作:
# source /etc/profile
执行下面命令,检查是否生效,操作命令:
# echo $JAVA_HOME
# echo $CLASSPATH
# echo $PATH
3. 切换Java环境,执行下面命令,按命令提示操作即可,操作命令:
# update-alternatives –config java
4. 替换ct.sym,因startup.compiler.sunflow项在Java 8中已停止支持,故需要将Java7中的ct.sym文件替换Java8中的ct.sym文件。执行步骤如下:
# cp ct.sym /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/lib
ct.sym放置在config/specjvm目录下
5. 工具安装,操作命令:
# java -jar SPECjvm2008_1_01_setup.jar -i console
下面提示点ENTER键继续,记录安装过程中设置的安装目录(默认目录/SPECjvm2008)。
6. 清除缓存:
# sync
# echo 3 > /proc/sys/vm/drop_caches
7. 执行测试,需要先进入工具安装目录。
base测试操作命令:
# java -jar SPECjvm2008.jar -ikv -base
peak测试操作命令:
# java -Xms1024m -Xmx1024m -jar SPECjvm2008.jar -ikv -peak -Dspecjvm.benchmark.threads=CPU核数
java -jar SPECjvm2008.jar -ikv
//(-Xmx、-Dspecjvm.benchmark.threads的值可根据实际情况更改,一般-Xmx设置为内存的2/3大小,-Dspecjvm.benchmark.threads设置为cpu核数)
8. 测试完成后结果存放在安装目录的results下
4.8 整型及浮点型计算性能speccpu测试
4.8.1 测试目的
测试操作系统整型及浮点型计算性能。
4.8.1 预置条件
1. 准备performance测试工具;
2. 在64位环境中,需要为每个copy保留2GB及以上空闲物理内存。由于测试单线程和满线程,所以需要保证机器空闲物理内存大于或等于cpu线程数的2倍(CPU线程数64,空闲内存要大于等于128G);
3. speccpu需要为每个线程预留2到3G的磁盘空间,所以speccpu工具所在分区空闲空间需要大于或等于cpu线程数的3倍(CPU线程数64,空闲磁盘空间要大于等于192G);
4. 安装gcc、gcc-c++、gcc-gfortran
MIPS架构需要额外安装libstdc++-static libstdc++ libgfortran libgfortran-static
X86架构需要额外安装libnsl
loongarch和申威架构需要额外安装libgfortran-static glibc-static libstdc++-static
4.8.2 自动测试步骤
1. 脚本参数说明
–s 或server_performance 服务器speccpu性能测试
2. test_opt.h测试参数设置
SPECCPU_VERSION speccpu工具版本。
SPECCPU_TESTCPU 多线程测试的线程数,默认是机器满线程
SPECCPU_TESTNU 测试次数,默认是1
3. 执行测试
# bash speccpu.sh –s
4.8.3 手动测试步骤
1. 将speccpu2006测试工具包解压到 /home目录,操作命令:
# tar -xvf speccpu2006-v1.0.1-new-0609.tar -C /home
2. 对解压后的工具包所有文件赋予执行权限,操作命令:
# chmod -R a+x /home/speccpu2006-v1.0.1
3. 修改文件:
tools/src/buildtools 更改”export LD_LIBRARY_PATH DYLD_LIBRARY_PATH 为export PERLFLAGS=”-A libs=-lm -A libs=-ldl”
# sed -i ‘s/export LD_LIBRARY_PATH DYLD_LIBRARY_PATH/export PERLFLAGS=”-A libs=-lm -A libs=-ldl”/’ /home/speccpu2006-v1.0.1/tools/src/buildtools
tools/src/buildtools更改CONFIGFLAGS=”–disable-nls $CONFIGFLAGS” 为CONFIGFLAGS=”–build=mips64el –disable-nls $CONFIGFLAGS”
# sed -i ‘s/CONFIGFLAGS=”–disable-nls $CONFIGFLAGS”/CONFIGFLAGS=”–build=mips64el –disable-nls $CONFIGFLAGS”/’ /home/speccpu2006-v1.0.1/tools/src/buildtools
tools/src/make-3.80/glob/glob.h在#define GLOB_H后添加#define __alloca alloca
# n=`cat -n /home/speccpu2006-v1.0.1/tools/src/make-3.80/glob/glob.h |grep “#define”|grep “GLOB_H”|awk ‘{print $1}’`
# a=`sed -e $n\a”#define __alloca alloca” /home/speccpu2006-v1.0.1/tools/src/make-3.80/glob/glob.h`
# echo “$a” >/home/speccpu2006-v1.0.1/tools/src/make-3.80/glob/glob.h
若是mips架构则执行:# ln -s /usr/lib64/libgfortran.so.5.0.0 /usr/lib64/libgfortran.so
若是loongarch架构则将config/speccpu目录下的loongarch64-linux拷贝到/home/speccpu2006-v1.0.1/tools/bin
若是申威架构则将config/speccpu目录下的sw_64–linux拷贝到/home/speccpu2006-v1.0.1/tools/bin
4. 安装speccpu2006:
# ./install.sh //在弹出的提示信息中,选择yes回车
5. 替换cfg文件:
若为arm架构,则将config/speccpu中的arm64-fix.cfg拷贝至/home/speccpu2006-v1.0.1/config,并改名为arm64.cfg
若为x86架构,则将config/speccpu中的x86-fix.cfg拷贝至/home/speccpu2006-v1.0.1/config,并改名为x86.cfg
若为mips架构,则将config/speccpu中的mips-fix.cfg拷贝至/home/speccpu2006-v1.0.1/config,并改名为mips.cfg
若为loongarch64架构,则将config/speccpu中的loongarch-fix.cfg拷贝到/home/speccpu2006-v1.0.1/config
若为申威架构,则将config/speccpu中的swgcc710-base-O2.cfg拷贝到/home/speccpu2006-v1.0.1/config;
6. 加载环境变量:
#source ./shrc
7. 检查SPEC CPU2006是否安装成功
# runspec -V
9. 选择相应配置文件进行测试:
arm平台:
# runspec –c arm64.cfg -n 1 all
# runspec –c arm64.cfg -r N -n 1 all
// N和CPU核数一致,根据台式机或服务器的核数去指定多线程N值;-n 指定测试轮数;all代表浮点和整型参数都测试
x86_64平台:
# runspec –c x86.cfg -n 1 all
# runspec –c x86.cfg -r N -n 1 all
mips平台:
# runspec -c mips.cfg -n 1 all
# runspec -c mips.cfg -r N -n 1 all
loongarch平台:
# runspec -c loongarch-fix.cfg -n 1 all
# runspec -c loongarch-fix.cfg -r N -n 1 all
申威平台:
# runspec -c swgcc710-base-O2.cfg -n 1 all
# runspec -c swgcc710-base-O2.cfg -r N -n 1 all
// 注:以上测试方法为节省时间仅执行了一次(指定了-n 1)最终导致结果文件中不会自动计算总分,请自行使用excel中geomean公式计算总分,若测试时间充裕请将命令中“-n 1”删除后执行测试。
10. 结果存放在/home/speccpu2006-v1.0.1/result中,分别统计单线浮点、单线整型、多线浮点、多线整型分数。
5. 稳定性测试
5.1 LTP工具测试系统稳定性
5.1.1 测试目的
验证系统稳定性
5.1.1 预置条件
1. 准备performance测试工具包
5.1.2 自动测试步骤
1. 脚本参数说明
insltp 安装ltp
cleanlog 清理系统日志
cleandir 清理LTP安装文件夹及解压出的文件夹
cleanresutls <arg> 清理参数指定的日志文件,参数缺省时会清理所有的运
行日志文件
stress <time> 运行压力测试
2. 执行测试
# bash ltp.sh stress 48
//可根据测试用例调整测试时间
5.1.3 手动测试步骤
1. 解压ltp并执行编译:
申威架构使用ltp-3231-256.tar.gz,并且无需编译安装,可以直接解压使用。其他架构需要执行步骤1、2、3、4
# tar -xvf ltp-full-20200515.tar.bz2
# cd ltp-full-20200515
arm架构执行:
# ./configure –build=arm-linux —with-realtime-testsuite –with-open-posix-testsuite
x86架构执行:
# ./configure —with-realtime-testsuite –with-open-posix-testsuite
mips架构执行:
# ./configure –build=mips64el —with-realtime-testsuite –with-open-posix-testsuite loongarch64架构执行:
# ./configure –build=mips —with-realtime-testsuite –with-open-posix-testsuite
2. 进行安装:
loongarch架构执行:
# make all -j 8
# make install -j 8
其他架构执行:
# make
# make install
3. 拷贝相关测试文件至如下路径:
文件存放在performance的config/ltp和script/ltp目录下
# cp ltpstress20200515.sh /opt/ltp/testscripts
# cp stress.part1 /opt/ltp/runtest
# cp stress.part2 /opt/ltp/runtest
# cp stress.part3 /opt/ltp/runtest
# cp lvm.part1 /opt/ltp/runtest
# cp lvm.part2 /opt/ltp/runtest
# cp quickhit /opt/ltp/runtest
# cp kylin_smoketest /opt/ltp/runtest
# cp kylin_smoketest_server /opt/ltp/runtest
# chmod a+rx /opt/ltp/testscripts/ltpstress20200515.sh
4. 设置环境变量
编辑/etc/profile在最后添加如下内容
export LTPROOT=/opt/ltp
export PATH=$LTPROOT/testcases/bin:$PATH
加载/etc/profile,使配置生效
# source /etc/profile
5. 执行稳定性测试:
申威架构执行命令:
# cd /opt/ltp/testscripts
# ./ltpstress 48 &> /opt/ltp/stress.log
其他架构执行命令:
# cd /opt/ltp/testscripts
# ./ltpstress20200515.sh -n -p -t 72 -l /opt/ltp/ltpstress.result
// 注: -t 72表示测试时间72小时