ltp压力测试结果分析脚本
最近工作性质发生了改变,在做操作系统方面的测试。接手的第一个任务是做ltp stress。测试内核稳定性。
做完之后会结果进行统计分析。因为统计的内容比较多,都是通过shell命令行进行操作。于是编写了一个简单的shell脚本。
具体脚本内容如下:
#!/bin/bash
CASENUM=0 #定义了一个全局变量
passnum()
{
echo "=============="
pass=`grep PASS /home/ltp/ltp.log | wc -l`#统计执行用例pass的次数。
echo "pass的用例个数 $pass"
}
failnum()
{
echo "=============="
fail=`grep FAIL /home/ltp/ltp.log | wc -l`#统计执行用例fail的次数
echo "fail的用例个数 $fail"
}
casenum()
{
echo "=============="
pass=`grep PASS /home/ltp/ltp.log | wc -l`
fail=`grep FAIL /home/ltp/ltp.log | wc -l`
let CASENUM=($pass+$fail)#统计总的执行用例的次数(这里可以进行优化)
echo "总的用例个数 $CASENUM"
}
cpuload()
{
echo "==============="
ldavg1=`(sar -q -f /home/ltp/sar.out| tail -n 1|awk '{print $4}')`
echo "ladvg_1:$ldavg1"
ldavg5=`(sar -q -f /home/ltp/sar.out| tail -n 1|awk '{print $5}')`
echo "ladvg_5 $ldavg5 "
ldavg15=`(sar -q -f /home/ltp/sar.out|tail -n 1|awk '{print $6}')`
echo "ldavg_15 $ldavg15"
}
cpuuse()
{
echo "==============="
#use=`(sar -u -f /home/ltp/sar.out| sed -n '$p' |awk '{print $3}')`
use=`sar -u -f /home/ltp/sar.out| tail -n 1|awk '{print $3}'`
#system=`(sar -u -f /home/ltp/sar.out| sed -n "$p" |awk '{print $5}')`#写sed命令的时候一定得注意用单引号编写,sed -n "$p" 这种写法错误,导致无法找到对应数据。
system=`(sar -u -f /home/ltp/sar.out| tail -n 1 |awk '{print $5}')`
cpuuse=`awk 'BEGIN{printf "%.2f%%\n",('$use'+'$system')}'`
echo "CPU使用率为:$cpuuse"
}
memuse()
{
echo "==============="
mem=`(sar -r -f /home/ltp/sar.out| tail -n 1 |awk '{printf "%.2f%%\n", $4}')`
echo "内存使用率为:$mem"
}
swapuse()
{
echo "==============="
swap=`(sar -S -f /home/ltp/sar.out|tail -n 1|awk '{printf "%.2ff%%\n", $4}')`
echo "swap平均使用率为:$swap"
}
success()
{
echo "==============="
pass=`(grep PASS /home/ltp/ltp.log | wc -l)`
succ=`awk 'BEGIN{printf "%.2f%%\n",('$pass'/'$CASENUM')*100}'`
echo "成功比率为:$succ"
}
failcase()
{
echo "==============="
failcase=`grep FAIL /home/ltp/ltp.log |sort|uniq|wc -l`
echo "faicase总数为: $failcase"
grep FAIL /home/ltp/ltp.log |sort|uniq>/home/ltp/failcase.txt
echo "具体的fail列表在生成的/home/ltp/failcase.txt文件中请查看是否存在重复"
}
passnum
failnum
casenum
cpuload
cpuuse
memuse
swapuse
success
failcase
在调试脚本的时候,总结了以下几个小点:
1.需要的到某个命令的返回值,定义一个变量等于这个命令,但是这边命令必须用``(大键盘数字1左边的那个按钮反单引号)扩住,否则就不执行这个命令
2.编写一个函数之后,一定要在下边写一下执行函数名称,否则看不到返回结果
3.写sed命令的时候一定得注意用单引号编写,sed -n "$p" 这种写法,导致无法找到对应数据。应该写为sed -n '$p'也是长知识了,这个经实践发现写成
sed -n"2,$p"这种格式是提示不对的,然后改成单引号之后就好了,还是sed不熟练。
ltp压力测试结果分析脚本的更多相关文章
- 【转载】ltp压力测试结果分析脚本
博客园 首页 新随笔 联系 管理 订阅 随笔- 8 文章- 0 评论- 0 ltp压力测试结果分析脚本 最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...
- [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
https://blog.csdn.net/melody157398/article/details/24354415 LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...
- LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49 20302 收藏 ...
- LTP--linux稳定性测试 linux性能测试 ltp压力测试 内核更新 稳定性测试
LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33721人阅读2011-12-09 12:07:45 说明:在写这篇文章之前,本人也不曾了 ...
- LTP--linux稳定性测试 linux性能测试 ltp压力测试 ltp-pan
LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33710人阅读2011-12-09 12:07:45 说明:在写这篇文章之前,本人也不曾了 ...
- Monkey进行压力测试定位问题分析
Monkey测试的log分析,我们可以通过几个关键词来判断测试是否通过. 分析log方法一(粗糙一点): 1)Monkey finished打开LOG,查看log的最下端,是否有类似以下字段:## ...
- Android App 压力测试 monkeyrunner
Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...
- jmeter简单得压力测试
Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具. Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...
- 工具使用-----Jmeter教程 简单的压力测试
摘抄于http://www.cnblogs.com/TankXiao/p/4059378.html 以下是英文版的,中文版的也差不多的 Jmeter是一个非常好用的压力测试工具. Jmeter用来做 ...
随机推荐
- UML-领域模型-定义
领域模型是OO分析中最重要和经典的模型(用例是重要的需求分析制品,但不是面向对象的).领域模型也是重点. 1.关系 2.例子 3.定义 领域模型没有定义方法的类图.只包括: 1).领域对象或概念类 2 ...
- web标准介绍
web标准介绍 web标准: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web标准规范的分类:结构标准.表现标准.行为标准. 结构:html.表示:cs ...
- UEFI启动(翻译)
本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: https://www.happyassassin.net/2014/01/25/uefi-b ...
- gulp自动化添加版本号并修改为参数格式
问题: 当我们修改js和css文件时往往需要清除浏览器的缓存,否则有些效果就看不到更新过后的. 通过对js,css文件内容进行hash运算,生成一个文件的唯一hash字符串(如果文件修改则hash号会 ...
- 17.3.13---join函数
1-----Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成 ...
- windows 安装MySQL服务 zip解压程序
1:配置 my.ini 文件 如下: [mysql] default-character-set=utf8[mysqld] port=3306basedir=D:\\Program Files\\da ...
- 在Myeclipse10中配置tomcat后新建工程
1.配置tomcat6.0 这里不在细说,和eclipse配置是一模一样的. 2.新建动态网站项目 3.配置显示服务器窗口 4.把项目与服务器链接 5.运行项目
- hdu 2586 How far away ?(LCA模板)(倍增法)
在dfs的过程中维护三个数组: deep[i],表示i点在树中的深度: grand[x][i],表示x的第2^i个祖先的节点编号: dis[x][i],表示x到它2^i祖 #include<io ...
- php测试使用小的mysql存储过程
<?php //前提是php.ini里面要开通mysqli的扩展./*$link = mysqli_connect('localhost','root','','chinatupai'); $ ...
- 60)PHP,项目执行过程总结