




免费预览已结束,剩余6页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JMeter接口压力测试Apache Jmeter简介Jmeter是Apache组织开发的基于Java的压力测试工具,是一个开源软件,它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能,可以使用它做性能的图形分析或大并发负载测试服务器/脚本/对象。我们为什么使用Jmeter1、开源免费,基于Java编写,可集成到其他系统、可拓展各个功能插件2、支持接口测试,压力测试等多种功能,支持录制回放,入门简单3、相较于其他编写框架等其他开源工具,有较为完善的UI界面,便于接口调试4、多平台支持,可再Linux,Windows,Mac上运行一、接口测试什么是接口测试接口测试的原理是,通过测试程序或工具,模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理,然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。用jmeter做接口测试过程一般分五个步骤:(1)添加线程组 (2)添加http请求 (3)在http请求中写入接入url、路径、请求方式和参数 (4)添加查看结果树 (5)调用接口、查看返回值(1)打开Jmeter 安装包,进入bin 中,找到jmeter.bat, 点击打开即可。在下图打开的Jmeter 页面中,右键“测试计划” - “添加” - “Threads(Users)” - “线程组”, 建立线程组。(2)右键“线程组” - “添加” - “Sample” - “HTTP请求”(3)输入“服务器名称或IP”,对应的端口号, 选择请求方式,输入对应的路径,添加参数及值。(4)右键“线程组” - “添加” - “监听器” - “察看结果树”, 添加“察看结果树”, 以察看运行后的结果,如图所示。(5)调用接口、查看返回值Jmeter 之get请求Jmeter 之post请求Jmeter之断言运行后有响应的数据返回,然后通过添加响应断言来判断我们的运行结果是否正确,在被测接口对应的“HTTP请求”上,添加“响应断言”Jmeter之参数化1、利用函数助手获取参数值选项-函数助手对话框_CSVRead,$_CSVRead(,)第一个参数是文件名(包含路径),第二个参数是文件中的列(列数从0开始);_Random,_Random函数是从某数据段随机读取数据替换参数,当需要添加多条数据记录且某些字段需要唯一性时使用,比如注册接口,用户名唯一2、利用配置元件(CSV Data Set Config)选中线程组,点击右键,添加配置元件CSV Data Set ConfigFileName:csv文件的名称及路径File Encoding: 文件编码-默认为空Varible Names: 定义文本文件中的参数名,定义后可当变量的方式来引用Delimiter:分隔符-每个参数之间的分隔符号,一般默认使用逗号,Allow Quoated data:是否允许数据引用数据-默认为FalseRecycle on EOF:是否循环读取参数文件内容-设置为True后,允许循环取值Stop Thread on EOF:文件结束后是否停止线程-默认为false,如果设置为True则会影响文件结束循环Sharing Mode:设置线程是否共享-默认设置为All threads3、用户自定义变量“选择需要添加的脚本” -“右键”- “配置文件”-“用户定义的变量”Jmeter之关联当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,比如修改用户密码接口,就需要用到登录用户接口的token值,用Jmeter做关联如下:“选择需要添加的脚本”-“右键”- “后置处理器”- “正则表达式提取器”引用名称:变量名称,名称只能是一个,引用方法:$access_token正则表达式:数据提取器,一般简单的通用语法就是:左边界(.+?)右边界,左右边界就是为了能准确定位到想匹配的内容,如上面图的“access_token”:“(.+?)”, (.+?) 是替换了想要提取的内容模板:对应正则表达式提取器类型,样式为:$n$,若模板为:$1$,则对应正则表达式中的第一个(.+?)所匹配的内容匹配数字:0代表随机取值,1代表所有值缺省值:如果匹配不到字符串,那默认给一个值让它取。正则表达式实例二、压力测试什么是压力测试压力测试是指模拟巨大的工作负荷来测试应用程序在峰值情况下如何执行操作。例如模拟实际软硬件环境,在超出用户常规负荷下,长时间运行测试工具来测试被测系统的可靠性,和测试被测系统的响应时间,目的是在极限负载下识别程序的弱点。压力测试前的准备1、压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口2、压测时间,一般场景运行1分钟。如果是疲劳测试,可以压几个小时或是一天,根据实际情况来定。压测任务需求的确认1、压测前要明确压测功能和压测指标,一般需要确定的几个问题:2、固定接口参数进行压测还是进行接口参数随机化压测?3、要求支持多少并发数?4、TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?5、压服务器名称还是压服务器IP,一般都是压测指定的服务器压测设置1、线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问2、Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。3、循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数4、调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。压测结果查看“选中线程组右键” -“添加” - “监听器” - “聚合报告”运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。1、Samples:表示一共发出的请求数2、Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)3、Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因4、Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。压测结果的分析1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;2、Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;3、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;4、最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。5、最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《口语交际:即兴发言》教学设计 2024-2025学年语文六年级下册统编版
- 2025年全国汽车修理工(高级)职业技能考试复习题库【附答案】
- 第三单元第14课《电子商务》说课稿 2024-2025学年青岛版(2019)初中信息技术第一册
- 第二课 经济全球化说课稿-2025-2026学年初中历史与社会人教版2013九年级下册-人教版(新课程标准)
- 蒸腾作用课件
- 物流运输实务(第三版)习题及答案 项目二同步测试
- 2025年北京pcr考试题及答案
- 蒲柳人家课件观看
- 葡萄酒知识培训课件
- 2025劳动合同韩语模板
- 妇产科护理 课件06章-正常产褥期母婴的护理
- 《劳模工匠之光》课件 第1、2单元 民族大厦的基石、改革攻坚的先锋
- 2025年全国企业员工全面质量管理知识竞赛题库及答案
- 基孔肯雅热防控指南专题课件
- 2025年中级钳工技能鉴定考核试题库(附答案)
- 2025秋教科版科学二年级上册教学课件:第一单元第1课 动物的家
- GB/T 15620-2025镍及镍合金实心焊丝和焊带
- 牧昆:亚朵星球怎样用内容打增量 洞察无法逃离日常用真人秀的思路打增量
- 养老机构出入管理办法
- 中医康复科业务学习课件
- DB11-T 751-2025 住宅物业服务标准
评论
0/150
提交评论