JMeter的简单使用

1、初识JMeter

1. 简介(摘自百度百科)

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件作压力测试,它最初被设计用于Web应用测试,但后来扩展到其余测试领域。 它能够用于测试静态和动态资源,例如静态文件、Java 小程序服务、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 能够用于对服务器、网络或对象模拟巨大的负载,来自不一样压力类别下测试它们的强度和分析总体性能。另外,JMeter可以对应用程序作功能/回归测试,经过建立带有断言的脚原本验证你的程序返回了你指望的结果。为了最大限度的灵活性,JMeter容许使用正则表达式建立断言。正则表达式

2. 自述

JMeter是业界比较优秀的测试软件,最基本的功能能够当成postman使用,而后进阶点就是给接口作并发测试,这里的并发是指真正意义的并发,像postman之类的软件所谓的并发本质上仍是串行执行的。再高阶的用法就是经过脚原本完成多服务器的压测,由于了解有限,更多高级用法得在实际中须要用到才有机会去学习。数据库

2、下载安装JMeter

环境为Win10,jdk版本1.8以上apache

1. 下载

官网下载地址
小程序

2. 安装

直接把下载好的压缩包解压到想要安装的位置便可。解压便可使用(前提是系统已经配好jdk环境)服务器

3. 目录

解压能够看到JMeter的基本目录,大体能够了解下。网络

4. 插件

JMeter支持插件扩展,有更多的功能均可以用插件来实现。并发

使用插件有两种方法,工具

​ 一是使用什么插件就下载对应jar包放到%jmeter%\lib\ext路径下。post

​ 二是使用官网提供的插件管理器,而后在管理器里选择所需插件进行安装。性能

这里介绍第二种方法,先去下载插件管理器 jmeter-plugins,而后把下载好的jmeter-plugins-manager-1.4.jar 放到%jmeter%\lib\ext下重启就能够。

打开JMeter以后,在GUI界面选择 Options -> 最底下 Plugins Manager 便可打开插件管理器进行使用。

3、基本使用

在此简单介绍下JMeter的运行背景,使用GUI界面执行测试会大量消耗系统资源,而使用命令行工具执行测试脚本则可以缩减所需的系统资源,因此通常的用法是先在GUI界面建立好测试计划的脚本,而后经过命令行去执行。

1. 运行

打开%jmeter%\bin文件夹,里面有sh和bat两种格式的脚本,分别对应Linux系统和Win系统的。打开jmeter.bat就会启动一个命令窗口和GUI界面窗口,二者是共存的,不能关闭,使用时把命令窗口最小化便可。

命令窗口:

GUI界面窗口:

2. 语言切换

英文的方便对照官方文档使用,但想切换中文也是能够的,在以前的版本中使用中文须要下载语言包本身手动加载,在此版本就不须要了,直接在GUI界面窗口操做 Options -> Choose Language -> Chinese (Simplified)便可

而后就切换到中文了。

3. 组件介绍

下文介绍的组件是根据我的学习到的组件而去使用的,因此做为开发人员去使用JMeter可能比不上专业使用,仅做介绍了解。

3.1 测试计划 (Test Plan)

能够理解为一个项目,就是一个最大的根目录,里面包括多种真正工做的测试组件。

3.2 线程组 (Thread Group)

添加:线程(用户) -> 线程组

也称用户组,是进行测试的基本单位, 也能够理解为测试计划执行的开始点,它能够设置线程信息来模拟并发。

3.3 计数器 (Counter)

添加: 配置元件 -> 计数器

用于配置一些计数做用的原件,好比我测接口,须要传一个ID,ID每次递增1,设置好以后,直接在请求参数里使用 ${引用名称}便可使用。

3.4 聚合报告 (Aggregate Report)

添加:监听器 -> 聚合报告

通常用于显示Web接口测试的,它里面各项数据都反应了接口的状况。

各项数据含义(注意:时间单位为ms):

Label:每一个请求的名字,可理解为每一个接口请求的Name属性。

样本(Samples):表示一次测试中一共发起了多少个请求,若是按照上面设置的持续30s,每秒100个并发量,那么就是30*100=3000个请求。

平均值(Average):平均响应时间,默认状况是单个请求的平均响应时间。

中位数(Median):中位数,也就是一半的用户的响应时间。

90%百分位和95%百分位(90% Line 和 95% Line):意指90%和95%的用户的响应时间,关于为何是这两个百分比的用户数能够自行了解下。

最小值(Min):最小响应时间。

最大值(Max):最大响应时间。

异常%(Error%):错误率,指一次测试中出现错误的请求/总请求数。

吞吐量(Throughput):默认状况表示每秒完成的请求数。

3.5 响应时间图 (Response Time Graph)

添加:监听器 -> 响应时间图

这个图没记错的话是自带的,但好像看起来不太好用,因此其实用别的插件生成的图更生动些。

3.6 察看结果树 (View Results Tree)

添加:监听器 -> 察看结果树

不懂是否是由于翻译问题,可能把查看写成了察看,总之是一个意思。这个组件能够看到请求的发送和返回信息,当你执行测试后,这里会自动填充请求数据就能够看了。

3.7 Http请求(Http Request)

添加:取样器 -> Http 请求

这里就是最经常使用的组件了,模拟接口测试请求,填写好服务器IP地址和端口号,而后填写请求路径,设置好入参,就能够用了。

3.8 TPS

添加:监听器 -> jp@gc - Transactions per Second

想要查看TPS得先装插件,可用插件管理器安装。

而后添加该组件时,选择TPS便可,


这些组件也是等测试完成有数据以后才会绘制图表,未执行测试以前是不会有东西的。

ps:本次介绍的是我的使用到的一些简单组件,还有不少好用的东西还没接触到,后续有机会能够继续学习使用。

4、 小结

在此学习了解到了JMeter的快速入门,包括下载安装、一些简单的使用。其实可能连入门都不算,JMeter仍是很复杂的,好比工做原理、配置文件、日志管理、定时器、断言、命令行执行等更高级的功能,但愿在空闲时多去了解下,多掌握一些技能。

文章是在本身电脑typora写好移植过来的,由于版块问题,致使内容换行很别扭。 并且有些图复现不了,只能用本地上面的截图,因此很模糊。