Jmeter入门使用

上传人:人*** 文档编号:564810034 上传时间:2023-08-18 格式:DOC 页数:12 大小:146KB
返回 下载 相关 举报
Jmeter入门使用_第1页
第1页 / 共12页
Jmeter入门使用_第2页
第2页 / 共12页
Jmeter入门使用_第3页
第3页 / 共12页
Jmeter入门使用_第4页
第4页 / 共12页
Jmeter入门使用_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Jmeter入门使用》由会员分享,可在线阅读,更多相关《Jmeter入门使用(12页珍藏版)》请在金锄头文库上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流Jmeter入门使用.精品文档.JMeter的简单使用1. JMeter简介Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你

2、的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。2. 安装与配置2.1. 工具/原料l JDK 1.7l Apache JMeter 3.02.2. 环境JMeter可以在Windows/Linux/Mac平台上运行,这里介绍在Windows上的安装配置。2.3. 安装步骤l 安装JDK,网上下载一个JDK,配置好环境变量即可使用。在dos界面输入java -version,能显示版本号,则证明JDK安装OK,可以使用。l 安装Jmeter:Jmeter不需要安装,解压之后即可使用;双击Jmeter的bin目录下的jmeter.bat,出现下面界面,则J

3、meter启动成功,Jmeter就绪。3. HTTP接口测试3.1. 测试实例以一个简单的接口为例:http:/httpbin.org/get?key2=value2&key1=value1在浏览器中打开的效果如下:在这里,成功的用浏览器访问了这个接口,并得到了成功的返回报文。下面我们用Jmeter来访问这个接口。3.2. 使用Jmeter进程HTTP测试3.2.1. 添加线程组l 右键“测试计划”-“添加”-“Threads(Users)”-“线程组”3.2.2. 添加“HTTP请求”l 右键“线程组”-“添加”-“Sampler”-“HTTP请求”l 打开之后,填入访问该接口所需要的参数,

4、效果如下图Tips:1. 服务器名或IP:这里填写服务IP地址(不带端口),有域名的直接填写域名2. 端口号:这里填写端口号,有域名的这里为空就好。3. Timeouts(milliseconds):超时时间,单位是毫秒;Connect:连接超时;Response:响应超时。二者都可以不填4. Implementa:采用什么实例来运行这次HTTP请求(HttpClient4/HttpClient3.1/Java),这里我们不用选择,直接默认就好。协议:该接口采用什么协议(http/https),这里不填默认是http,根据情况填写方法:请求该接口的方法(GET/POST等),根据接口请求类型选

5、择。Content encoding:这里是返回报文的编码格式(如utf-8),采用默认值就好5. 同请求一起发送参数:接口的参数,可以通过下方“添加”按钮,添加参数,左边为“key”,右边填“value”,如上图。(这里只适用于传参数的接口,传Json和文件等接口使用这种方式不支持,暂不做介绍)3.2.3. 添加监听器完成上述3.2.1和3.2.2步,一个接口的简单脚本已经编写完成了;但是此时我们还不知道在哪里查看脚本运行的结果,这里我们需要添加一个监听器。l 右键“线程组”-“添加”-“监听器”,选择“察看结果树”Tips:Jmeter提供了需要监听器,有兴趣的可以去一一添加,察看效果。3

6、.2.4. 运行脚本l 点击按钮,运行脚本,察看结果在“响应数据”下,我们看到了与使用浏览器一样的返回结果(报文中headers有差异,这部分可以忽略,想知道为什么不一样的可以去学学http协议,在这里不影响结果)。到这里,一个http接口测试的Jmeter脚本已经完成。“Ctrl+S”保存一下吧,下次就可以直接拿来使用了(Jmeter脚本默认保存在bin目录下)3.3. 压力测试在上面脚本配置上线程数,即可对该接口进行压力测试啦。l 点击“线程组”1. 线程数:需要采用多少个并发。2. Ramp-Up Period(in seconds):设置到达最大并发所需时间(如上图,从0增加到5个并发

7、,花费1秒钟)3. 循环次数:每个并发执行几遍脚本(如上图,每个线程执行100遍)。勾选永远,则脚本会被无限循环执行下去。4. 调度器:勾选则启用调度器持续时间(秒):设置脚本跑多久(如需要让脚本跑一分钟,则填入60)启动延迟(秒):延迟多少秒才开始执行脚本l 添加“聚合报告”聚合报告是一个监听器,作用是,为本次压力测试整理出一份“报表”l 点击按钮让我们来看看5并发循环100次的结果l 点击按钮,清除上次测试结果,然后来看看10并发循环100次结果可以看到5并发时,Throughput为13.0/sec;10并发时:Throughput为22.6/sec。理论上,并发数与吞吐量成正比,并发越

8、多,吞吐量越大。实际上,服务器的处理能力和网络带宽是有限的,当并发数达到一定数量之后,吞吐量不随并发数增加而增长,出现响应时间变长,甚至服务器宕机等状况,称之为服务器的性能“瓶颈”。简单来说,性能测试就是根据服务器的“瓶颈”,来评估服务的性能是否能够达到期望。附:表头说明Label -如图,在不勾选Include group name in label?复选框的情况下,为请求取样器的名称,否则为“请求取样器所在线程组:请求取样器名称”# Samples -用同一个请求取样器,发送请求的数量(注意:该值是不断累计的)。比如,10个线程数设置为10,迭代10次,那么每运行一次测试,该值就增加10*

9、10=100Average -默认情况下是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间Median -中位数。表示响应时间本不大于该时间值的请求样本数占总数的50%90% Line -表示响应时间不大于该时间值的请求样本数占总数的90%Min -针对同一请求取样器,请求样本的最小响应时间Max -针对同一请求取样器,请求样本的最大响应时间Error % -出现错误的请求样本的百分比Throughput -吞吐量以“requests/second、requests /minute、requests

10、/hour”来衡量。时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second在CVS中被保存为0.5Kb/sec -以Kilobytes/seond来衡量的吞吐量3.4. 附上演示脚本上面演示步骤最后保存的脚本,可以直接用Jmeter打开,运行。4. 录制HTTP脚本当需要为多个接口做脚本时,手动编制就显得太麻烦,这时候我们可以使用Jmeter自带的脚本录制功能。录制原理是Jmeter启用一个代理服务器,然后配置浏览器代理,Jmeter就可以对浏览器进行抓包,

11、然后生成脚本。4.1. Jmeter配置代理服务器并录制脚本4.1.1. 添加线程组l 右键“测试计划”-“添加”-“Threads(Users)”-“线程组”4.1.2. 添加录制控制器l 右键“线程组”-“添加”-“逻辑控制器”-“录制控制器”4.1.3. 添加代理服务器l 右键“工作台”-“添加”-“非测试元件”-“Http代理服务器”l 配置代理服务器1. 端口:用默认的8888就好,如果冲突,可以换一个不冲突的端口号。2. HTTPS Domains:默认本机localhost 3. 目标控制器:选择 测试计划线程组录制控制器4. 分组:选择 每个组放入一个新的控制器然后点击“启动”

12、,弹出的提示框点击“确定”,代理就启动成功了。l 添加“察看结果树”右键“HTTP代理服务器”-“添加”-“监听器”-“察看结果树”4.1.4. 设置浏览器代理Jmeter代理服务器启动之后,再设置浏览器代理,就可以抓包了。不同浏览器的代理设置方式不一样。一般来说,浏览器都是在设置系统代理,一个浏览器设置了代理,其它浏览器也会用这个代理。下面介绍三种常用浏览器代理的设置方法。4.1.4.1. IE浏览器1. 点击“工具”-“Internet选项”2. 在新打开的窗口中选择“连接”,点击“局域网设置(L)”3. 在弹出窗口,选中“为LAN使用代理服务器(这些设置不用于拨号或VPN练级)(X)”,

13、然后在“地址(E)”填入localhost,“端口(T)”填入刚设置的代理端口号8888。然后点击“确定”完成配置。4.1.4.2. Google Chrome(谷歌浏览器)1. 点击右上角,展开菜单,点击“设置”2. 点击最下方“显示高级设置.”,找到“更改代理服务器设置.”,点击3. 弹出新窗口后,剩下的操作照着IE浏览器设置代理的2、3就可以了4.1.4.3. Firefox(火狐浏览器)1. 点击右上角,展开菜单,点击“选项”2. 选择“高级”-“网络”,点击“设置(E).”3. 在新窗口配置代理:选择“手动配置代理:(M)”,“HTTP代理:(M)”填入“localhost”,“端口

14、:(P)”填入“8888”,点击“确定”,设置完成。Tip:这里设置的代理是设置的自己的,不会影响系统代理设置。4.1.5. 录制脚本所有准备工作都做完,可以开始录制脚本了,还用上面举例的接口,这里尝试录制该接口的脚本。1. 在一个设置好代理的浏览器中打开该接口,用Google Chrome演示一下2. 然后我们看看Jmeter,这里捕获了这次请求的信息,并在“录制控制器”下生成了一条Http请求,如下3. 将需要的Http请求拉倒“线程组”下,然后清空“录制控制器”,然后就可以开始下一个接口的录制4. 录制完成之后,在线程组下添加“察看结果树”,“Ctr+S”保存脚本,运行一下,看到两条请求

15、都成功了,一个脚本就录制成功了!4.1.6. 一个未解决的问题在录制脚本时,会发现很多无用的请求干扰,在这里Jmeter代理提供了一个过滤器,如接口是*.html的,使用“.*/*.html”过滤。这里配置了过滤,总不好用,要么什么也没过滤掉,要么都过滤没了,还有把需要的一部分也过滤没了。鉴于此,录制脚本时,尽量少开其它网页,减少干扰。如有哪位知道怎么设置这个过滤器,请告知,感激不尽。5. TCP测试就像简介上说的,Jmeter不单可以做Web测试,也可以TCP测试。TCP脚本跟HTTP脚本做成十分类似,但是有些地方会不同,还是啰嗦介绍一下。5.1. 创建一个TCP测试桩先创建一个简单的TCP服务器,用来学习Jmeter的TCP测试,这个服务器只做一个事情,就是收到一个报文,然后给一个响应。这是从网上找的一份简单的TCP服务器代码,python语言写的,直接运行就好,端口是8888,IP则为运行该脚本的机器的IP地址。l 问题:怎么运行这个服务器?答:有很多方法可以启动,介绍一种简单的,找一个Linux服务器,上传这个文件,然后执行命令python

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号