注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

Jmeter性能测试小结  

来自张永邦   2016-09-26 13:47:20|  分类: 性能测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.        简介

Jmeter是一款由java开发的、开源的并且功能非常强大的性能测试工具,有着操作简单方便的图形界面,支持HTTPFTPTCPJava等多种请求方式。

2.        Jmeter的下载与安装

Jmeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi,当前最新版本为3.0,下载jmeter是一个zip压缩包,解压后,直接运行apache-jmeter-2.9\bin目录下的jmeter.bat文件,就可以启动该软件。

3.        测试实例

Get请求:

URL : http://10.180.161.121/sd/service/query?stype=1&index=test&q=*:*

1)        添加线程组

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

在线程组中可以定义两种性能测试方式

1.       线程数量+每个线程的执行次数(通常用于执行性能测试)

2.       线程数量+启动时间和结束时间(通常用于执行稳定性测试)

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

Number of Threads(users) 一个用户占一个线程,20个线程就是模拟20个用户。

Ramp-Up Period(in seconds)设置线程需要多长时间全部启动。如果线程数为20 ,准备时长为1 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程

Loop Count:每个线程发送请求的次数。如果线程数为20,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了永远,那么所有线程会一直发送请求,直到选择停止运行脚本

调度器中可以设置测试的执行时间,指定结束时间后,循环次数条件会失效,每个线程都会循环运行,知道满足结束时间为止。

2)     添加Http请求

添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。

将请求urlhttp://10.180.161.121/sd/service/query?stype=1&index=test&q=*:*做分隔处理

请求服务器IP10.180.161.121

请求路径:/sd/service/squery

请求参数:stype=1index=testq=*:*

依次将上述参数填入指定选项框中,如下图所示

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

3)        添加监听器

脚本的主要部分设置完成后,需要通过某种方式获得性能测试中的测试结果,在本例中,我们关心的是请求的最大响应时间、最小响应时间、平均响应时间以及TPS等性能指标。

Jmeter中使用监听器元件手机取样器记录的数据并以可视化的方式呈现,Jmeter有各种不同的监听器类型,因为上HTTP请求,我们可添加聚合报告和查看结果树两种监听类型,更为直观的查看测试结果。

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

聚合报告参数分析

参数

描述

Label

每个Jmeterelement都有一个name属性,这里显示的就是name的属性值

#Sample

本次测试中一共发送的请求数目

Average

平均响应时间

Median

一半用户的响应时间

90%Line

90%用户的响应时间

Min

最小响应时间

Max

最大响应时间

Error%

本次测试的错误率

Throughput

吞吐量

启动请求结果展示

通过查看结果树元件可以查看具体每一条的请求url,响应数据结果等信息

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

聚合报告结果

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

至此,一个简单的性能测试就完成了,但是考虑到这种方式,每个请求的发送都要通过建立网络连接、vpn连接等过程,最终的结果会有一定的误差,所以,如果能把它放在服务器上运行,会得到更准确的结果。

保存测试计划,会以一个.jmx文件存储,该文件里面保存了所有上述的元件以及参数配置,将此.jmx文件放在bin目录下,并将Jmeter整个工程拷入服务器中(拷入一个与测试机相通的服务器,如果直接拷入测试机,在测试过程中会给测试机本身带来压力,影响测试结果)。

cd Jmeterbin目录下,通过如下命令运行jmeter,并生成.jtl文件

./jmeter.sh -n -t TpsLimit.jmx -l test.jtl

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

 

这里暂时还无法看出具体的性能测试结果,需要借助于jtl文件解析工具JtlParser,网上可以下载,下载后将整个工程放入同一个测试服务器上。

java -jar JTLParser.jar --jtlFile ../apache-jmeter-3.0/apache-jmeter-3.0/bin/test.jtl

Jmeter性能测试小结 - 网易杭州QA - 网易杭州 QA Team

 

解析结果给出了本次测试过程,请求的最大响应时间、最小响应时间、平均响应时间和QPS等。

  评论这张
 
阅读(315)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016