Loading

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

posted @ 2024-01-24 15:28  小马窝  阅读(423)  评论(0编辑  收藏  举报