Jmeter Http接口性能测试
Jmeter Http接口性能测试
1. 启动Jmeter
Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2.8\bin下的jmeter.bat就可以了。
2. 添加线程组
如下图添加线程组
线程组相当于loadrunner的vuser,这里配置线程组的各项内容。主要有以下几点需要配置:
1)线程数:设置发送请求的线程数目。
2)Ramp-up period: 就是总共设定的线程数据在多长时间内启动。比如设定了100s和10个线程,那么每10秒钟就会启动一个线程。
3)循环次数:请求发生的重复次数,如果选择后面的“永远”(默认),那么 请求将一直继续,如果不选择“永远”,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。
4)调度器:这个调度器是用来设定运行的时间的,启动时间和结束时间都是必须要设定的。如果当前时间没有到达启动时间则会等待,如果当前时间到达了结束时间,线程会被停止。
3. 添加HTTP请求
下图展示如何添加HTTP请求
添加了HTTP请求会有如上的界面,这个界面用来设置HTTP请求的。主要需要设定的点有以下几项:
1)Web服务器:需要填入请求的服务器名称;接口的端口号;连接和响应的时间阈值,如果连接超时或者响应时间超时则判断为失败;路径为跟在服务器名后的请求路径;。
2)HTTP请求:设置实现方式,可以选择发送的方式;协议为我们使用到的协议;以及发送使用是get还是post方式,还可以设置编码如,GBK;路径为请求的url路径,不包括IP或服务器名后的部分。
3)同请求一起发送的参数:这里可以设置参数,值的话可以自己输入也可以使用自定义的变量\$
来表示很多的实例中选择一个。
4. 添加参数
在上面请求中我们可以看到使用了\$
这样的结果,这就是用户定义的参数。参数实现的方式有好几种,由于一般在做性能测试时,数据量会比较大,因而一般使用csv Data Set Config来设置参数。
上面就是csv data config的设置界面,各个界面解释如下:
Filename:就是数据文件的地址,可以是绝对地址也可以是相对地址。如果直接像图中这样填名字,则需要将数据文件放到和测试计划相同的目录下。
1)File encoding:读取文件的编码
2)Variable Names:参数的名称,多个参数,则使用逗号来分开,如,name,password。
3)Delimiter:文件中分割记录的分割符号,比如我们用tab就是\t。
4)Allow quoted Data:一般取false就可以了。但是如果有些特殊的就可以设置True。
5)Recycle on EOF:值为True则允许循环取值,也就是说如果文本中所有数据都被取完了一次,则重新从文件的第一行取值。如果为false那么就会更具下面的Stop thread on EOF来执行动作。
这种参数可以设置多个,然后在HTTP请求的设置参数。这种参数设置方法用到的比较多,无论是HTTP、java等等的sample中都可以使用。
5. 添加监听器
监听器一般是用来给出结果的。可以通过添加监听器查看请求响应时间、响应数据等。有时候监听器会严重影响到Jmeter客户端的性能。如果要给出性能结果,最好就不要添加IO操作过多的监听器了。但是在调试过程以及接口测试中可以使用这些监听器,如,结果树等。
从上面可以看到有很多的监听器,在性能测试中选择必要的监听器。对于没有用的监听器可以先删除。
一般在调试的时候会用到查看结果数、用表格查看结果等监听器。这里可以看到详细的请求和返回内容。
聚合报告中就会有整个场景的聚合报告,会提供响应时间、QPS等等数值。我们可以根据需要添加监听器。
6. 启动测试计划
上图中的运行中的启动和下面的图形化工具中的绿色箭头可以启动测试计划。
Jmeter Http接口性能测试的更多相关文章
- 【技术博客】 利用Postman和Jmeter进行接口性能测试
利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...
- Jmeter+jenkins接口性能测试平台实践整理(一)
最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略. 一.Jmeter+jenkins+Shell+t ...
- 一个使用Jmeter做接口性能测试的实战案例
1 安装并配置Jmeter Jmeter的安装不在这里阐述,安装步骤非常简单. 直接进入主题 1.1 数据库连接配置 由于测试过程需要调用数据库获取响应部署数据,因此需要先建立与数据库的连接. 如果不 ...
- Jmeter+jenkins接口性能测试平台实践整理(二)
本篇为Jmeter+jenkins+Ant方式执行性能测试 1.设置JDK,ANT环境变量: 2.build.xml文件: <?xml version="1.0" encod ...
- JMeter之Http协议接口性能测试
一.不同角色眼中的接口 1.1,开发人员眼中的接口 1.2,测试人员眼中的接口 二.Http协议基本介绍 2.1,常见的接口协议 1.:2. :3. :4.:5.: 6. 2.2,Http协议栈 ...
- JMeter之Http协议接口性能测试--基础
一.不同角色眼中的接口 1.1,开发人员眼中的接口 1.2,测试人员眼中的接口 二.Http协议基本介绍 2.1,常见的接口协议 1.:2. :3. :4.:5.: 6. 2.2,Http协议栈 ...
- 接口性能测试--JMeter
1.JMeter Java Sampler介绍 setupTest做些初始化的工作,每个线程只执行一次 teardownTest做些清理工作,每个线程只执行一次 1.JMeter Java Sampl ...
- 【原创】相对完整的一套以Jmeter作为工具的性能测试教程(接口性能测试,数据库性能测试以及服务器端性能监测)
准备工作 jmeter3.1,为什么是3.1,因为它是要配合使用的serveragent所支持的最高版本,下载链接 https://pan.baidu.com/s/1dWu5Ym JMeterPlug ...
- jmeter简单的接口性能测试
原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...
随机推荐
- Cobbler自动化安装部署系统
自动化安装部署 https://www.cnblogs.com/nulige/p/6796593.html PXE+Kickstart工作原理 pxe+kickstart工作流程 网卡上的pxe芯片有 ...
- 第30课 C语言中的字符串
任意的软件开发过程都会涉及到字符串,字符串的概念: ca是字符数组,其他几个都是字符串,因为最后都有'\0'. 示例程序如下: #include <stdio.h> int main() ...
- BZOJ3295: [Cqoi2011]动态逆序对(树状数组套主席树)
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 7465 Solved: 2662[Submit][Sta ...
- WPF 多线程 UI:设计一个异步加载 UI 的容器
对于 WPF 程序,如果你有某一个 UI 控件非常复杂,很有可能会卡住主 UI,给用户软件很卡的感受.但如果此时能有一个加载动画,那么就不会感受到那么卡顿了.UI 的卡住不同于 IO 操作或者密集的 ...
- table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)
table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...
- string,char*及CString类型的相互转换
首先先介绍一下什么是CString CString是MFC的字符串类,它不是基本类型,而是对字符串的封装,它是自适应的,在UNICODE环境下就是CStringW,在非UNICODE环境下就是CStr ...
- MySql登陆密码忘记了 怎么办?
MySql登陆密码忘记了 怎么办?root密码:连root密码忘记没用root进修改mysql数据库user表咯 root密码: 方法一:MySQL提供跳访问控制命令行参数通命令行命令启MySQL服务 ...
- kafka速度为什么快
1. kafka 使用了 分区.分布式.leader/followere 的方式.分布式让 kafka 排除了单点故障,分区和分区复制让数据不丢失2. kafka 使用 zero copy 技术 (基 ...
- java用double和float进行小数计算精度不准确
java用double和float进行小数计算精度不准确 大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非 ...
- cowboy添加验证码
参考的http://beebole.com/blog/erlang/how-to-implement-captcha-in-erlang-web-application/,移到cowboy,修改了下: ...