> CentOS > CentOS入门 >

使用ltp套件对Centos系统进行压力测试

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服务;
参考:
引用
1)在/etc/securetty 添加rsh,rlogin
2)注销/etc/pam.d/rsh里 auth  required  pam_securetty.so的行
3)注销/etc/pam.d/rlogin里 auth  required  pam_securetty.so的行
4)在root目录下。建立 .rhosts文件,输入如下内容:
localhost
127.0.0.1
本机ip
5)编辑/etc/xinetd.d/rsh与/etc/xinetd.d/rlogin文件,将yes改成no
 重启xinetd服务, /etc/rc.d/init.d/xinetd restart
6)使用rsh localhost和rlogin localhost看看能否登陆本机

接着,就是修改testscripts目录下的networktests.sh脚本,指定RHOST变量是服务机的IP地址,指定PASSWD是服务机root用户的密码;
最后,就可以运行networktest.sh脚本进行自动测试了。

 

(责任编辑:IT)