压力测试Jmeter+badboy

前言:很多人都想学习压力测试,但是一开始手动写脚本着实蛋疼,所以今天我教大家的是利用badboy来录制压测脚本,然后用Jmeter来做压力测试。

流程:badboy导出Jmeter压测脚本->Jmeter进行压力测试(特别适用于本次潘sir大作业–电影售票系统web版本的压力测试)


第一步:下载badboy和Jmeter

badboy:http://www.badboy.com.au/
Jmeter:http://jmeter.apache.org/

安装特别简单,笔者罗炜劲也没遇到什么困难。这里就不赘述了,真的没坑的,也不需要配置什么。可能唯一需要注意的是Jmeter的运行,需要打开bin目录下的批处理文件:看下面截图。

这里写图片描述

会首先出现一个命令行,然后出现以下图形化界面

这里写图片描述


第二步,用badboy录制脚本并导出.jmx格式

笔者这里随便拿某讯的网站来示范,当然,人家的机制肯定是会防止别人ddos攻击,所以频繁发出请求的话,肯定是会返回拒绝访问的结果,但是我们不关注返回结果,我么关注录制和压测的流程。


首先在地址栏输入要压测的地址然后跳转

这里写图片描述

这时候badboy左侧脚本已经录制一条了,可以看到页面已经跳转到了QQ邮箱,并且script多了一条记录

这里写图片描述

然后输入账号密码,点击登录,页面跳转,同时脚本多一个步骤

这里写图片描述

然后我就退出了QQ邮箱。并且,脚本多了一行

这里写图片描述

录制完成之后,点击左上角的导出jmeter,保存脚本到指定目录。

这里写图片描述


第三步:Jmeter出场

首先打开刚刚从badboy哪里保存的脚本

这里写图片描述

可以看到测试计划多了一个,然后线程组就是定义并发数目,step就是压测的步骤,意思就是比如1000个并发,就会模拟1000个人,不断重复刚刚我录制的操作,登录邮箱,退出邮箱这样。

这里写图片描述

双击Thread Group线程组,就可以定义线程数,循环次数,随机间隔时间。想做压力测试,当然线程数越多压力越大,间隔越小越大。

这里写图片描述


第四步:压测步骤已经写好,是不是可以直接运行呢?我们还需要添加监听器!来查看压测返回的结果啊!

这里写图片描述

监听器的种类好多,可以全部加进去试试,各有各的看点!我加了三个监听器:

这里写图片描述


最后,运行!查看结果

查看结果树

这里写图片描述

表格查看

这里写图片描述

聚合报告:我喜欢看这个,可以看出错误率,最大吞吐量。可以反映出服务器性能。

这里写图片描述


小结:希望大家有所收获。