编辑:[db:作者] 时间:2024-08-25 02:55:08
这就起源于以前自己是个穷小子,在表面的做兼职,有一次接到了一个网站的性能测试;哀求是在线上测试,既不能把做事搞挂,又要测试出来问题,所往后面就直接对接口测试了,繁琐的是每个接口之间的关联性很大,以是还要自己写代码集成到Jmeter中进行测试,这一次算是对Jmeter 有了一定的理解!
下面我们就大略的先容一下Jmeter浸染、性能指标和一个http接口的测试例子。
Jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
Jmeter先容Apache JMeter是Apache组织开拓的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web运用测试,但后来扩展到其他测试领域。
它可以用于测试静态和动态资源,例如静态文件、Java 小做事程序、CGI 脚本、Java 工具、数据库、FTP 做事器, 等等。
JMeter 可以用于对做事器、网络或工具仿照巨大的负载,来自不同压力种别下测试它们的强度和剖析整体性能。
其余,JMeter能够对运用程序做功能回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。
为了最大限度的灵巧性,JMeter许可利用正则表达式创建断言。
JMeter的浸染1.能够对HTTP和FTP做事器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完备的可移植性和100% 纯java。
3.完备 Swing 和轻量组件支持(预编译的JAR利用 javax.swing.)包。
4.完备多线程 框架许可通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计许可快速操作和更精确的计时。
6.缓存和离线剖析/回放测试结果。
Jmeter图文案例把稳:JMeter基于Java开拓,须要系统有安装JDK环境。
下载完成Jmeter解压后进入bin目录,点击jmeter.bat
1、添加线程组:
测试操持 -> 添加 -> Threads(User) -> 线程组,添加后进入如下界面:
线程数:表示将仿照多少个用户进行测试。
Ramp-Up Period(in seconds):线程启动间隔,所有线程将在这个韶光内依次启动。
循环次数:所有线程实行一次为一次循环。
如果线程数为200 ,循环次数为10 ,那么每个线程发送10次要求。总要求数为20010=2000 。如果勾选了“永久”,那么所有线程会一贯发送要求,直到选择停滞运行脚本。
2、添加采样器:
采样器可理解为针对前面创建的线程须要做什么事情,这里以添加HTTP要求为例。
1)线程组 -> 添加 -> Sampler -> HTTP要求,添加后进入如下界面:
上图为压测http的get类型接口,url中${newId}和${page}是动态参数,须要从文件中获取
做事器名或ip:填写做事器ip地址(例如:192.168.1.23)
路径:填写url接口剩余部分;
协议:向目标做事器发送http要求时的协议,可以是http或者是https,默认值为http
方法:发送http要求的方法,可用方法包括get、post、head、put、options、trace、delete等。
Content encoding:内容编码办法
路径:目标url路径(不包括做事器地址和端口)
自动重定向:如果选中该选项,当发送http要求后得到的相应是302/301时,jmeter自动重定向到新的页面。
Use keep Alive:当该选项当选中时,jmeter和目标做事器之间利用keep-Alive办法进行http通信,默认选中
Use multipart/from-data for http post:当发送http post要求时,利用Use multipart/from-data方法发送,默认不选中。
同要求一起发送参数:在要求中发送URL参数,对付带参数的URL、jmeter供应了一个大略的对参数化的方法。用户可以将url中所有参数设置在本表中,表中的每一行是一个参数值对(对应URL中的名称 名称1=值1 )
同要求一起发送文件:在要求中发送文件,常日,http文件上传行为可以通过这种办法仿照。
2)添加CSV Data Set Config 来参数化
在d盘简历如下data.txt文件,在variable Names中输入newId,page后,在http要求中就可以通过${newId}获取到
3)如果是post接口,则把post数据写到parameters下面
3、添加监视器
监视器可以理解为针对结果的不同查看办法。JMeter里供应了多种结果表现形式。可通过 HTTP要求 -> 添加 -> 监视器 -> 察看结果树、聚合报告等等。
聚合报告各指标
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的便是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个要求,如果仿照10个用户,每个用户迭代10次,那么这里显示100
Average:均匀相应韶光,默认情形下是单个 Request 的均匀相应韶光,单位为毫秒。当利用了 Transaction Controller 时,也可以以Transaction 为单位显示均匀相应韶光
Median:中位数,也便是 50% 用户的相应韶光
90% Line:90% 用户的相应韶光
Min:最小相应韶光
Max:最大相应韶光
Error%:本次测试中涌现缺点的要求的数量/要求的总数
Throughput:吞吐量,默认情形下表示每秒完成的要求数(Request per Second),当利用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从做事器端吸收到的数据量,相称于LoadRunner中的Throughput/Sec
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/lz/zxsj/88818.html
下一篇:返回列表
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com