Linux Test Project
2010-08-28 10:25
LTP(Linux Test Project)是一个由SGI发起并由IBM负责维护的合作计划。它的目的是为开源社区提供测试套件来验证Linux的可靠性、健壮性和稳定性。LTP 测试套件包括测试Linux内核和内核相关特性的工具集合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。
OSDL(开放源代码开发实验室)、Group Bull和Wipro Technologies(威普罗科技公司)为此项目的主要贡献者,该项目鼓励有兴趣的人们一起加入。 LTP的官方网站:http://ltp.sourceforge.net/ 使用LTP套件对Linux系统进行压力测试 ltp套件是由Linux Test Project所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。
一、获取软件
首先我们可以从http://optusnet.dl.sourceforge.net/sourceforge/ltp/ltp-full-20050608.tgz下载最新的20050608版本; 下载后,放到/root目录下,解压并编译、安装:
tar xzf ltp-full-20050608.tgz
cd ltp-full-20050608
make;make install;
二、进行压力测试
运行:
./runltp -p -l /tmp/resultlog.20051221 -d /tmp -o /tmp/ltpscreen.20051221 -t 24h
运行后,用tail -f /tmp/ltpscreen.20051221监控运行状态。如果运行持续的话,不要关机,等待24小时候的结果。
如果只是部分的压力测试,可以运行testscripts目录下的脚本,例如:
#testscripts/ltpstress.sh -d sar -l log -t 72 -i 60
意思是连续运行ltpstress 72小时,用sar每60秒记录一次系统活动,sar的记录文件为/tmp/ltpstress.xxx.sar,ltpstess测试log文件 /tmp/ltpstress.xxx.log(使用ltpstress.sh必须打开本机的rsh服务,并且允许root登陆本机,参考后面的附录部 分)
三、结果分析
分析ltpstress.xxx.log :将所有FAIL过滤出来,得到完整的所有FAIL的testcase。
方法如下:用sort把FAIL的项排序,再用uniq排除重复项输出到一个文件就可以了:
grep FAIL ltpstress.xxx.log | sort | uniq >failcase.txt
至此,得到的failcase.txt为所有FAIL的testcase名字。要注意分析case失败的原因是什么,并下结论:是配置的问题 (72h测试中该case全部失败,没有一次成功记录),还是稳定性的问题(有失败也有成功)。并将结论加注在failcase.txt中,方便查看。
※附录
运行runltp.sh,是不会运行diskiso.sh和networktests.sh脚本。
这两个脚本放在testscripts目录下,使用它们是有前提的:
1、diskiso.sh
使用它,必须要有一张可写的3寸磁盘放在软驱中,并且光驱里面需要有超过100M的空间。
2、networktests.sh
使用它,首先要有另外一台用做提供服务的主机,而且上面需要安装有和测试的客户机相同的ltp套件,并且都安装在同一个对应的目录中,例如:/root/ltp; 然后需要给服务机配置/root/.rhosts文件,以保证客户机可以无密码的进入服务机;
当然,我们在需要在服务机上打开rlogind、ftpd、telnetd、echo (stream)、fingerd、rshd和portmap服务;