CPU压力测试工具:LTP
一.前言
- 软件介绍
LTP(LinuxTest Project)是SGI、IBM、OSDL和Bull合作的项目,目的是为开源社区提供一个测试套件,用来验证Linux系统可靠性、健壮性和稳定性。LTP测试套件是测试Linux内核和内核相关特性的工具的集合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。LTP提供了验证linux系统稳定性的标准,设计标准的压力场景,通过对linux系统进行压力测试,对系统的功能、性能进行分析,并以此确定linux系统的可靠性、健壮性和稳定性
- 软件目录
INSTALL |
LTP安装配置指导文档 |
README |
LTP介绍 |
CREDITS |
记录对LTP有很大贡献的人 |
COPYING |
GNU Public License |
ChangeLog |
描述版本变化 |
ltpmenu |
规划执行LTP的图形化界面接口 |
Makefile |
LTP顶层目录的Makefile,负责编译安装pan、testcases和tools |
runalltests.sh |
顺序运行全部测试例程并且报告结果的脚本 |
doc/* |
工程文档包含工具和库函数使用手册,描述各种测试 |
include/* |
通用的头文件目录 |
lib/* |
通用的库函数目录 |
testcases/* |
包含在LTP下运行和bin目录下的所有测试用例和链接 |
testscripts/* |
存放分组的测试脚本 |
runtest/* |
为自动测试提供命令列表 |
pan/* |
测试的驱动装置。具备随即和并行测试的能力 |
scratch/* |
存放零碎测试的东西 |
tools/* |
存放自动化测试脚本和辅助工具 |
- 测试内容
测试案例:测试案例目录为testcases/,testcases/包含了测试案例和案例脚本;
测试脚本:测试脚本主要目录为testscripts/,里面包含了文件系统,磁盘,内核,内存等测试脚本;
测试驱动:测试驱动目录为bin/,该目录存放了ltp各种驱动脚本,如ltp-pan,ltp-scanner等
二.下载
- 安装包
网站: Linux Test Project download | SourceForge.net
- 命令
#下载
git clone https://github.com/linux-test-project/ltp.git
三.使用
#进入ltp
cd ltp
#编译
make autotools
./configure
make
make install
测试运行
初始测试
#执行命令
./runltp -p -l /tmp/resultlog.20111207 -d /tmp -o /tmp/ltpscreen.20111207 -t 24h
或者:./runalltests.sh
#参数解析
-p:人为指定日志格式,保证日志为可读格式
-l:记录测试日志的文件
-d:指定临时存储目录,默认为/tmp
-o:直接打印测试输出到/tmp/ltpscreen.20111207
-t:指定测试的持续时间
-t 60s = 60 seconds
-t 45m = 45 minutes
-t 24h = 24 hours
-t 2d = 2 days
压力测试
在使用testscripts/ltpstress.sh脚本之前需要对系统进行配置
-rsh必须配置完毕并在运行。
-内核支持NFS,并且安装NFS软件,通过网络测试。
-"sar"或"top"工具需要被安装,执行ltpstress时需要添加"sar"或"top"工具。
#下载sysstat工具
yum install sysstat
#执行
./ltpstress.sh -d /tmp/sardata -l /tmp/ltpstress.log -I /tmp/iofile -i 5 -m 128 -t 24 -S
#参数解析
-d:指定sar或top记录文件,默认/tmp/ltpstress.data
-l:记录测试结果到/tmp/ltpstress.log (小写L)
-I:记录"iostat"结果到iofile,默认是/tmp/ltpstress.iostat (大写i)
-i:指定sar或top快照时间间隔,默认为10秒
-m:指定最小的内存使用,默认为: RAM + 1/2 swap
-n:不对网络进行压力测试
-S:用sar捕捉数据
-T:利用LTP修改过的top工具捕捉数据
-t:指定测试时间
测试结果分析
默认情况下,测试结果放在/tmp
ltpstress.log ---- 记录相关日志信息,主要是测试是否通过(pass or fail)
ltpstress.data ---- sar工具记录的日子文件,包括cpu,memory,i/o等
ltpstress.611.output1 ---- 对应stress.part1,测试命令的一些输出信息
ltpstress.611.output2 ---- 对应stress.part2,测试命令的一些输出信息
ltpstress.611.output3 ---- 对应stress.part3,测试命令的一些输出信息
cpu 平均使用率:#sar -u -f ltpstress.data
memory 平均使用率:#sar -r -f ltpstress.data
分析:
ltpstress.log 将所有FAIL过滤出来,得到完整的所有FAIL的testcases。
方法如下:用sort把FAIL的项排序,再用uniq排除重复项输出到一个文件就可以了:
grep FAIL ltpstress.log | sort | uniq >failcase.txt
至此,得到的failcase.txt为所有FAIL的testcases名字。要注意分析case失败的原因是什么.
并下结论:是配置的问题,还是稳定性的问题(有失败也有成功)。并将结论加注在failcase.txt中,方便查看。
用户自定义测试:
想要有选择的自定义测试项目,可以如下方法操作
创建命令文件,这个命令文件包括两部分: tag和test case
tag即为标签项,起到一个说明的目的,方便我们知道是干什么的.
test case即为要测试的项目,此部分为/opt/ltp/testcases/bin/下的命令加上相关的选项
参考自:https://blog.csdn.net/melody157398/article/details/24354415
本文来自博客园,作者:{小马窝},转载请注明原文链接:{https://www.cnblogs.com/xiaomawo}