最近工作性质发生了改变,在做操作系统方面的测试。接手的第一个任务是做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. Linux 下载安装

    安装教程:https://www.runoob.com/linux/linux-install.html Linux图形界面与命令行界面切换https://blog.csdn.net/ab522628 ...

  2. ant design for vue 关于table的一些问题

    1.为table添加分页: :pagination="pagination" pagination: { defaultPageSize: 10, showTotal: (tota ...

  3. windows下隐藏文件夹

    在cmd中找到文件夹所在的路径,然后执行以下命令 隐藏文件:attrib 文件名 +s +h 显示隐藏文件:attrib 文件名 -s -h 后记:attrib指令用于修改文件的属性,文件的常见属性有 ...

  4. Python 生成requirements文件以及使用requirements.txt部署项目

    生成requirements.txt 当你的项目不再你的本地时,为了方便在新环境中配置好环境变量,你的项目需要一个记录其所有依赖包以及它们版本号的文件夹requirements.txt 文件. pip ...

  5. 四、NOSQL之Redis持久化缓存服务基础实战第三部

    1.NOSQL的理解 NOSQL是不仅仅是SQL,说的就是sql的补充,但是不能替代SQL. nosql库:memcached.memcachedb.redis 2.redis 简介 Redis是一个 ...

  6. Opencv笔记(二):图像的基本操作——续写

    1.图像的透视变换 对于视角变换,我们需要一个 3x3 变换矩阵.在变换前后直线还是直线.要构建这个变换矩阵,你需要在输入图像上找 4 个点,以及他们在输出图像上对应的位置.这四个点中的任意三个都不能 ...

  7. idea maven Running C:\Users\Administrator\AppData\Local\Temp\archetype1tmp

    Running C:\Users\Administrator\AppData\Local\Temp\archetype1tmp 在IDEA中通过maven项目管理工具创建javaweb项目的时候一直卡 ...

  8. 35)PHP,关于PHP和html

    (1)其实无论是CSS还是js,又或者是html,都是可以随意的载入到我们的php文件中,其实这些文件就是一个外来的引入文件,所以,根本没有什么神奇的, 你要是想把php的结果有调理的展示,那么就直接 ...

  9. 吴裕雄--天生自然 JAVA开发学习:MySQL 连接

    CREATE TABLE `websites` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL DEFAULT '' ...

  10. E - Minimum Spanning Tree Gym - 102220E (转化+贡献)

    In the mathematical discipline of graph theory, the line graph of a simple undirected weighted graph ...