Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件作压力测试,它最初被设计用于Web应用测试,但后来扩展到其余测试领域。 它能够用于测试静态和动态资源,例如静态文件、Java 小程序服务、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 能够用于对服务器、网络或对象模拟巨大的负载,来自不一样压力类别下测试它们的强度和分析总体性能。另外,JMeter可以对应用程序作功能/回归测试,经过建立带有断言的脚原本验证你的程序返回了你指望的结果。为了最大限度的灵活性,JMeter容许使用正则表达式建立断言。正则表达式
JMeter是业界比较优秀的测试软件,最基本的功能能够当成postman使用,而后进阶点就是给接口作并发测试,这里的并发是指真正意义的并发,像postman之类的软件所谓的并发本质上仍是串行执行的。再高阶的用法就是经过脚原本完成多服务器的压测,由于了解有限,更多高级用法得在实际中须要用到才有机会去学习。数据库
环境为Win10,jdk版本1.8以上apache
官网下载地址
小程序
直接把下载好的压缩包解压到想要安装的位置便可。解压便可使用(前提是系统已经配好jdk环境)服务器
解压能够看到JMeter的基本目录,大体能够了解下。网络
JMeter支持插件扩展,有更多的功能均可以用插件来实现。并发
使用插件有两种方法,工具
一是使用什么插件就下载对应jar包放到%jmeter%\lib\ext路径下。post
二是使用官网提供的插件管理器,而后在管理器里选择所需插件进行安装。性能
这里介绍第二种方法,先去下载插件管理器 jmeter-plugins,而后把下载好的jmeter-plugins-manager-1.4.jar 放到%jmeter%\lib\ext下重启就能够。
打开JMeter以后,在GUI界面选择 Options -> 最底下 Plugins Manager 便可打开插件管理器进行使用。
在此简单介绍下JMeter的运行背景,使用GUI界面执行测试会大量消耗系统资源,而使用命令行工具执行测试脚本则可以缩减所需的系统资源,因此通常的用法是先在GUI界面建立好测试计划的脚本,而后经过命令行去执行。
打开%jmeter%\bin文件夹,里面有sh和bat两种格式的脚本,分别对应Linux系统和Win系统的。打开jmeter.bat就会启动一个命令窗口和GUI界面窗口,二者是共存的,不能关闭,使用时把命令窗口最小化便可。
命令窗口:
GUI界面窗口:
英文的方便对照官方文档使用,但想切换中文也是能够的,在以前的版本中使用中文须要下载语言包本身手动加载,在此版本就不须要了,直接在GUI界面窗口操做 Options -> Choose Language -> Chinese (Simplified)便可
而后就切换到中文了。
下文介绍的组件是根据我的学习到的组件而去使用的,因此做为开发人员去使用JMeter可能比不上专业使用,仅做介绍了解。
能够理解为一个项目,就是一个最大的根目录,里面包括多种真正工做的测试组件。
添加:线程(用户) -> 线程组
也称用户组,是进行测试的基本单位, 也能够理解为测试计划执行的开始点,它能够设置线程信息来模拟并发。
添加: 配置元件 -> 计数器
用于配置一些计数做用的原件,好比我测接口,须要传一个ID,ID每次递增1,设置好以后,直接在请求参数里使用 ${引用名称}便可使用。
添加:监听器 -> 聚合报告
通常用于显示Web接口测试的,它里面各项数据都反应了接口的状况。
各项数据含义(注意:时间单位为ms):
Label
:每一个请求的名字,可理解为每一个接口请求的Name属性。
样本(Samples)
:表示一次测试中一共发起了多少个请求,若是按照上面设置的持续30s,每秒100个并发量,那么就是30*100=3000个请求。
平均值(Average)
:平均响应时间,默认状况是单个请求的平均响应时间。
中位数(Median)
:中位数,也就是一半的用户的响应时间。
90%百分位和95%百分位(90% Line 和 95% Line)
:意指90%和95%的用户的响应时间,关于为何是这两个百分比的用户数能够自行了解下。
最小值(Min)
:最小响应时间。
最大值(Max)
:最大响应时间。
异常%(Error%)
:错误率,指一次测试中出现错误的请求/总请求数。
吞吐量(Throughput)
:默认状况表示每秒完成的请求数。
添加:监听器 -> 响应时间图
这个图没记错的话是自带的,但好像看起来不太好用,因此其实用别的插件生成的图更生动些。
添加:监听器 -> 察看结果树
不懂是否是由于翻译问题,可能把查看写成了察看,总之是一个意思。这个组件能够看到请求的发送和返回信息,当你执行测试后,这里会自动填充请求数据就能够看了。
添加:取样器 -> Http 请求
这里就是最经常使用的组件了,模拟接口测试请求,填写好服务器IP地址和端口号,而后填写请求路径,设置好入参,就能够用了。
添加:监听器 -> jp@gc - Transactions per Second
想要查看TPS得先装插件,可用插件管理器安装。
而后添加该组件时,选择TPS便可,
这些组件也是等测试完成有数据以后才会绘制图表,未执行测试以前是不会有东西的。
ps:本次介绍的是我的使用到的一些简单组件,还有不少好用的东西还没接触到,后续有机会能够继续学习使用。
在此学习了解到了JMeter的快速入门,包括下载安装、一些简单的使用。其实可能连入门都不算,JMeter仍是很复杂的,好比工做原理、配置文件、日志管理、定时器、断言、命令行执行等更高级的功能,但愿在空闲时多去了解下,多掌握一些技能。
文章是在本身电脑typora写好移植过来的,由于版块问题,致使内容换行很别扭。 并且有些图复现不了,只能用本地上面的截图,因此很模糊。