由于工作太忙,好久没有写文章了,今天总结点有关压力测试方面的内容,现在的压力测试工具比较多,最具权威的就是 LoadRunner,不过 要想熟悉的运用LoadRunner进行测试,你必须下一番功夫,此软件非常的强大,也非常的难掌握,不过测一些简单的,还是比较容易上手的。
我今天要讲的就是使用JMeter +Badboy配合进行压力测试,现在我简单的介绍一下这两种工具。
JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,用java实现的。
Badboy主要是用来录制我们操作记录的。我们可以在Badboy中内嵌的浏览器中,打开我们要测试的网站,进行我们要测试的操作,然后badboy就会为我们生成一个JMeter测试所需的测试脚本,然后就可以用JMeter直接进行测试了,而省去了我们手动配置脚本的麻烦。
现在我通过测试一个网站的登录功能来给大家讲一下JMeter+Badboy配合使用,来测试该网站可以同时支撑多少并发用户登录。
第一步:首先打开我们的Badboy,最新的版本是Badboy 2.1 Beta 5 ,下载地址:http://www.badboy.com.au/。Badboy的界面如下,然后在badboy的地址栏中输入我们要测试的网站。
第二步:执行一次登录操作,然后停止录制。在文件菜单中选择Export to JMeter .....我们就可以把我们刚刚执行的登录操作记录在我们导出的脚本文件中。
第三步:打开我们的JMeter, 然后打开我们刚刚导出的jmx文件, 最新的版本是:Apache JMeter2.3.4.可以去官网直接下载。界面如下。
这里我们用一个聚合报告来显示我们的测试结果统计。然后我们只需简单的填写下Thread Group中的数据就可以了,假如我们要模拟50个用户并发访问,配置如下图:
Number of Threads: 设置发送请求的用户数目
Ramp-up period: 每个请求发生的总时间间隔,单位是秒。这里我们设置的是0,因为我们测试的是并发用户访问。
Ramp-up period: 每个请求发生的总时间间隔,单位是秒。这里我们设置的是0,因为我们测试的是并发用户访问。
Loop Count: 请求发生的重复次数,如果选择后面的forever(默认),那么 请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复 指定的次数,如果输入0,那么请求将执行一次。这里我们输入10。
第四步:运行,然后根据生成的报告分析你网站的性能情况了。
报告参数说明:
参数名称
|
详细说明
|
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的使用情况,就可以估算出你网站的访问量和能支撑的并发访问用户了。这里我只是简单介绍了一下。写的不详细的地方见谅。有问题的可以给我留言,共同探讨。
本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/237873,如需转载请自行联系原作者