您的位置:首页 > 其它

使用jmeter进行压力测试

2015-11-22 10:34 621 查看
使用jmeter对web项目进行测试

Jmeter通过录制的脚本可以对web应用进行测试。

一、准备:

1、安装badboy(可选)

双击BadboyInstaller-2.2.exe,直接按照提示安装即可

2、安装jmeter

将apache-jmeter-2.13.zip 解压到任意目录下,配置环境变量即可使用

设置jmeter环境变量:

新建变量名"JMETER_HOME"

变量值为D:\apache-jmeter-2.13

修改"CLASSPATH",在后面添加

;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar

 

运行jmeter:

直接打开D:\apache-jmeter-2.13\bin\jmeter.bat就可以了.

 

二、录制脚本:

方法一:通过badboy录制

 


运行badboy

1、输入url

2、点击图示按钮访问并开始录制

在badboy内置的浏览器中进行测试中需要的操作,badboy会将每个步骤录制下来,并显示在左侧。

3、录制结束后点击“停止录制”按钮

4、导出:点击File——>Export to Jmeter

选择路径并保存

 

方法二:直接使用jmeter+IE浏览器录制

在jmeter安装目录下的bin目录下找到jmeter.bat点击运行

1、创建线程组

 


测试计划——>添加——>Treads (Users)——>线程组

2、添加并配置http代理服务器

 


工作台——>添加——>非测试元件——>HTTP代理服务器

 


如上图所示配置HTTP代理服务器

 

3、配置IE浏览器

 


打开IE浏览器

工具——>Internet 选项——>连接——>局域网设置

勾选“为LAN使用代理服务器”

地址:localhost

端口:8080

注:脚本录制完成后取消勾选“为LAN使用代理服务器”

4、回到HTTP代理服务器的配置页面,点击启动

 


 

5、进入IE浏览器,输入url并进行测试相关的操作,jmeter会自动录制脚本

6、停止录制

 


 

7、保存录制结果

 


三、设置线程组

用jmeter打开录制好的脚本

 


 

1、添加监听器

 


四、运行

1、运行

点击 运行——>启动 或点击绿色启动按钮 也可使用Ctrl+R快捷键

 


查看监听器反馈(以下给出三种监听器反馈结果)

 


 

 


                                                                                                                                                                                                                                                                                                                       

                                                                                                                                                                                                                                                                                                                                                                                                           

                                                                                                                                                                                                                                                                                           

可通过 运行——>清除全部 清除反馈结果,方便下此启动后分析结果。

 

五、结果分析

对于监听器反馈的结果

1、聚合报告分析:

Label:每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值 

#Samples:表示你这次测试中一共发出了多少个请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100 

Average:平均响应时间 — 默认情况下是单个 Request 的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间 

Median:中位数,也就是 50 %用户的响应时间 

90% Line: 90 %用户的响应时间

Min:最小响应时间 

Max:最大响应时间 

Error%:错误率,本次测试中出现错误的请求的数量 / 请求的总数

Throughput:吞吐量 —— 默认情况下表示每秒完成的请求数( Request per Second )

KB/Sec:每秒从服务器端接收到的数据量

2、图形结果分析:

样本数目:总共发送到服务器的请求数。

最新样本:代表时间的数字,是服务器响应最后一个请求的时间。

吞吐量:服务器每分钟处理的请求数。 

平均值:总运行时间除以发送到服务器的请求数。 

中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。 

偏离:表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。  

3、查看结果树分析:

Thread Name:线程组名称

Sample Start:启动开始时间

Load time:加载时长

Latency:等待时长

Size in bytes:发送的数据总大小

Headers size in bytes:发送头大小

Body size in bytes:发送数据的其余部分大小

Sample Count:发送统计

Error Count:交互错误统计

Response code:返回码

Response message:返回信息

Response headers:返回的头部信息

六、评测

针对最大同时在线人数的评测,目前没有找的清晰合理的判断方式。

但是可以间接反映出相关情况:

根据监听器反馈的结果,可以获取到平均响应时间,通过平均响应时间和线程数,可以间接判断最大在线用户数量。

偏离、中值、吞吐量等信息也可以用来作为参考。

七、其他功能(针对不同情况可选)

(一)多用户并发测试

通过CSV Data Set Config可以进行多用户并发测试

以下通过多个用户登陆的测试详细介绍

准备好多组用户名和密码:

用户名和密码之间用半角逗号隔开,每行一组。

可以保存为csv格式,也可以保存为txt格式

 


 


 

删除原有参数的值,改为 ${参数名} 的形式,如下图:

 


 



添加CSV Data Set Config 并配置

 


启动即可执行:

 

 

(二)断言

断言可以了解执行过程中是否发生错误。

以下通过使用断言来判断登陆是否成功进行介绍一种断言方式。

在(一)多用户并发测试中所用的登陆信息中添加一些错误的用户名或密码,

添加断言,判断执行过程中是否成功登陆。

响应断言

 


 

响应断言可以选择要测试的字段,可选择合适的响应字段和模式匹配规则。

登陆成功时,页面显示“登陆成功”,登录失败时,页面显示“用户名或密码错误”。

因此,可通过添加响应断言来判断登陆是否成功。如果响应中包含“成功”两字,即表示登陆成功,否则登录失败。

登陆成功时,页面跳转到http://ms-20110101yxgs:8080/test/login.action,因此通过URL样本也可以验证是否登陆成功。

 

下面以“响应文本”“匹配”来演示:

 

 






 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息