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编写负载功能测试和性能测试开源工具软件 ...
随机推荐
- css之grid layout代码解释
.wrapper { display: grid; grid-template-columns: repeat(3, 1fr);/*grid-template-columns CSS属性定义了网格列的 ...
- iOS开发之 - 键盘处理神器 IQKeyboardManager
平常在开发中,用到输入框的地方不胜其数,当输入框位于屏幕底部时,弹起的键盘很可能覆盖输入框,导致用户看不到输入结果,体验较差...... IQKeyboardManager 可以很简单快捷的解决键盘遮 ...
- Web 端屏幕适配方案
基础知识 像素相关 1.像素 :像素是屏幕显示最小的单位. 2.设备像素 :设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点. ...
- ROS会议 ROSCon 2017
----ROSCon2012-2017----来源链接:https://roscon.ros.org 近三年ROSCon(2015-2017)都会将会议视频录像和文档公开~以下为机 ...
- CF1082G:G. Petya and Graph(裸的最大闭合权图)
Petya has a simple graph (that is, a graph without loops or multiple edges) consisting of n n vertic ...
- Linux的发行版之间的联系和区别
转载:https://blog.csdn.net/suixin788/article/details/52555558 联系 Linux的内核源代码和Linux的应用程序都可以自由获得,因此很多公司组 ...
- 在Linux中批量修改字符串的命令
昨天一个朋友忽然问我,在Linux下如何批量修改字符串,当时瞬间懵逼了,完全想不起来....... 今天特意的重温了一下Linux下的一些常用命令,并将这个遗忘的批量修改字符串的命令记录下来(资料来自 ...
- UOJ 347(洛谷4220) 【WC2018】通道——随机化
题目:http://uoj.ac/problem/347 https://www.luogu.org/problemnew/show/P4220 先写了暴力分的44分.那个两棵树.其中一棵是编号连续的 ...
- vue 整合雪碧图功能
1.通过命令新建一个vue项目 环境要求: 安装有 Node.js. vue. vue-cli . 创建项目: vue init webpack tx_demo cd tx_demo 进入项目,下载依 ...
- 详解Centos7 修改mysql指定用户的密码
本文介绍了Centos7 修改mysql指定用户的密码,具体如下: 1.登陆mysql或者mariadb(两种任选其一) [root@localhost ~]# mysql -u root [root ...