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编写负载功能测试和性能测试开源工具软件 ...
随机推荐
- [转载]java正则表达式
转载自:http://butter.iteye.com/blog/1189600 1.正则表达式的知识要点1.正则表达式是什么?正则表达式是一种可以用于模式匹配和替换的强有力的工具.2.正则表达式的优 ...
- 剑指offer+名企面试官精讲典型编程题,28题扩展题
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 利用django.core.mail发送QQ邮件的配置
1.在 settings.py 的最后面加上类似这些 EMAIL_USE_SSL = True EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com ...
- 在jenkins和sonar中集成jacoco(三)--使用jacoco收集集成测试的覆盖率
我们系统使用weblogic做服务器,集成测试框架使用的是junit+selenium. 首先,要把jacoco的jacocoagent.jar包放到部署应用的服务器上,接着在系统服务的JAVA_OP ...
- js固定表头的实现(转)
原文链接:http://www.th7.cn/web/js/201509/121055.shtml 参考链接:http://www.jb51.net/article/102568.htm 写两个表格, ...
- I.MX6 linux kernel编译错误处理
/******************************************************************************** * I.MX6 linux kern ...
- Keep On Movin
上回书说道不愿透露姓名的巨巨还剩下一个数组,这个数组记录了他学习c++ 语言的过程. 现在这个数组a里有一些字符,第i个字符的数量是a[i].巨巨想用这些字符来构造一些回文串好让他的程序通过编译. 他 ...
- OPENQUERY用法以及使用需要注意的地方
对给定的链接服务器执行指定的传递查询.该服务器是 OLE DB 数据源.OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名.OPENQUERY 也可以作为 INSERT.UPD ...
- ASP.NET 程序优化
一.SqlDataRead和Dataset的选择 Sqldataread优点:读取数据非常快.如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多. ...
- servlet深探
在spring4下面使用的是ServletContext作为容器,这个是servlet规范里面设置的:加载了默认的servlet(在spring 4之前都是web.xml中做的),但是在spring ...