压力测试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线程组,就可以定义线程数,循环次数,随机间隔时间。想做压力测试,当然线程数越多压力越大,间隔越小越大。

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

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

最后,运行!查看结果
查看结果树

表格查看

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

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