最近工作性质发生了改变,在做操作系统方面的测试。接手的第一个任务是做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压力测试结果分析脚本的更多相关文章

  1. 【转载】ltp压力测试结果分析脚本

    博客园 首页 新随笔 联系 管理 订阅 随笔- 8  文章- 0  评论- 0  ltp压力测试结果分析脚本   最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...

  2. [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    https://blog.csdn.net/melody157398/article/details/24354415   LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...

  3. LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49  20302  收藏  ...

  4. LTP--linux稳定性测试 linux性能测试 ltp压力测试 内核更新 稳定性测试

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33721人阅读2011-12-09 12:07:45   说明:在写这篇文章之前,本人也不曾了 ...

  5. LTP--linux稳定性测试 linux性能测试 ltp压力测试 ltp-pan

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 zhangzj1030关注14人评论33710人阅读2011-12-09 12:07:45   说明:在写这篇文章之前,本人也不曾了 ...

  6. Monkey进行压力测试定位问题分析

    Monkey测试的log分析,我们可以通过几个关键词来判断测试是否通过.   分析log方法一(粗糙一点): 1)Monkey finished打开LOG,查看log的最下端,是否有类似以下字段:## ...

  7. Android App 压力测试 monkeyrunner

    Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试?第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. ADB ...

  8. jmeter简单得压力测试

    Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...

  9. 工具使用-----Jmeter教程 简单的压力测试

    摘抄于http://www.cnblogs.com/TankXiao/p/4059378.html 以下是英文版的,中文版的也差不多的 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做 ...

随机推荐

  1. English Grammar - Subject Clause

    that引导主语从句 一般置于句末,偶尔也置于句首 that引导的主语从句置于句首 That the seas are being overfished has been known for year ...

  2. geodjango七日学习笔记 (7.30整理本地笔记上传到网络)

    第一天进行到现在,在开端的尾巴,想起来写一个学习笔记, 开发环境已搭好,用的是pycharm 环境是本机已有的interpreter python3.7   接下来要做的是新建一个geodjango项 ...

  3. UML-操作契约总结

    1.操作契约属于什么? 属于用例模型 如图: 2.操作契约在那个阶段引入? 在细化阶段,并非初始阶段. 3.哪些需要写操作契约? 1).最复杂的系统操作 2).最微妙的系统操作

  4. python库文件下载地址(持续更新)

    numpy https://pypi.org/project/numpy/#files PIL https://pypi.org/simple/pillow/ cv2 https://pypi.tun ...

  5. python-day4爬虫基础之正则表达式

    正则表达式:(字符串匹配) 使用单个字符串来描述匹配一系列符合某个句法规则的字符串 是对字符串操作的一种逻辑公式 应用场景:处理文本和数据 正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个 ...

  6. GPS坐标与百度坐标转换

    百度对外接口的坐标系,都是经过国家测绘局加密处理,符合国家测绘局对地理信息保密要求. 国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ- 02,对地理位置进行首次加密.百度坐标在此 ...

  7. 蓝桥杯 Car的旅行路线 (预处理+最短路径)

    https://www.luogu.org/problem/P1027 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有4个飞机场,分别位于一个矩形的4个顶点上,同 ...

  8. HDU-1875 畅通工程再续(最小生成树+判断是否存在)

    http://acm.hdu.edu.cn/showproblem.php?pid=1875 Problem Description 相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛 ...

  9. oracle 查询表空间

    测试用户连接C:\Users\ZP>sqlplus /nologconn hbcxuser/hbcxpass --查看所有表空间 select * from user_tablespaces-- ...

  10. 1年6亿美元!Uber小费功能或引行业变革

    当一个行业由稚嫩走向成熟,必然要在大方向上面对两个选择--一是继续在行业内深挖,二是不断向外围扩张.就像电商行业原本只是纯粹的交易中介形态,现在既不断深挖垂直电商新模式,又继续拓展新业务试图玩转跨界. ...