JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,用java实现的。
Badboy主要是用来录制我们操作记录的。我们可以在Badboy中内嵌的浏览器中,打开我们要测试的网站,进行我们要测试的操作,然后badboy就会为我们生成一个JMeter测试所需的测试脚本,然后就可以用JMeter直接进行测试了,而省去了我们手动配置脚本的麻烦。
现在我通过测试一个网站的登录功能来给大家讲一下JMeter+Badboy配合使用,来测试该网站可以同时支撑多少并发用户登录。
第一步:首先打开我们的Badboy,最新的版本是Badboy 2.1 Beta 5 ,下载地址:http://www.badboy.com.au/。Badboy的界面如下,然后在badboy的地址栏中输入我们要测试的网站。
![快速学会压力测试](http://img1.51cto.com/attachment/200912/200912021259756116531.jpg)
第二步:执行一次登录操作,然后停止录制。在文件菜单中选择Export to JMeter .....我们就可以把我们刚刚执行的登录操作记录在我们导出的脚本文件中。
第三步:打开我们的JMeter, 然后打开我们刚刚导出的jmx文件, 最新的版本是:Apache JMeter2.3.4.可以去官网直接下载。界面如下。
![快速学会压力测试](http://img1.51cto.com/attachment/200912/200912021259756332156.jpg)
这里我们用一个聚合报告来显示我们的测试结果统计。然后我们只需简单的填写下Thread Group中的数据就可以了,假如我们要模拟50个用户并发访问,配置如下图:
![快速学会压力测试](http://img1.51cto.com/attachment/200912/200912021259756577328.jpg)
Number of Threads: 设置发送请求的用户数目
Ramp-up period: 每个请求发生的总时间间隔,单位是秒。这里我们设置的是0,因为我们测试的是并发用户访问。
Ramp-up period: 每个请求发生的总时间间隔,单位是秒。这里我们设置的是0,因为我们测试的是并发用户访问。
Loop Count: 请求发生的重复次数,如果选择后面的forever(默认),那么 请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复 指定的次数,如果输入0,那么请求将执行一次。这里我们输入10。
第四步:运行,然后根据生成的报告分析你网站的性能情况了。
![快速学会压力测试](http://img1.51cto.com/attachment/200912/200912031259800891937.jpg)
报告参数说明:
参数名称
|
详细说明
|
Label:
|
每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name属性的值
|
#Samples:
|
表示你这次测试中一共发出了多少个请求,我的测试计划模拟n个用户,每个用户迭代10次,因此这里显示n*10
|
Average:
|
平均响应时间——默认情况下是单个 Request 的平均响应时间
|
Median:
|
中位数,也就是 50%用户的响应时间
|
90% Line:
|
90%用户的响应时间
|
Min:
|
最小响应时间
|
Max:
|
最大响应时间
|
Error%:
|
本次测试中出现错误的请求的数量/请求的总数
|
Throughput:
|
吞吐量——默认情况下表示每秒完成的请求数
|
KB/Sec:
|
每秒从服务器端接收到的数据量
|
大家就可以根据模拟不同的用户生成的报告数据进行对比分析了,同时查看你cup的使用情况,就可以估算出你网站的访问量和能支撑的并发访问用户了。这里我只是简单介绍了一下。写的不详细的地方见谅。有问题的可以给我留言,共同探讨。