Jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使用。 Jmeter可以做接口测试和压力测试。其中接口测试的简单操作包括做http脚本(发get/post请求、加cookie、加header、加权限认证、上传文件)、做webservice脚本、参数化、断言、关联(正则表达式提取器和处理json-json path extractor)和jmeter操作数据库等等。

Jmeter安装

JDK安装
1.由于Jmeter是基于java开发,首先需要下载安装JDK,官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. 选择Java SE 8u151/ 8u152,点击JDK-DOWNLOAD下载
3. 安装下载的JDK
4. 配置系统环境变量
一般安装至C:\Program Files\Java目录下。桌面上选择“我的电脑”(右键),高级, 环境变量,.
在“系统变量”—>“新建”,
在变量名中输入:CLASSPATH,
变量值中输入:C:\ProgramFiles\Java\jdk1.6.0_10\lib\dt.JAR; C:\Program Files\Java\jdk1.6.0_10\lib\TOOLS.JAR; C:\Program Files\Java\jdk1.6.0_10\BIN;
再按“新建”
在变量名中输入:JAVA_HOME,变量中输入:C:\Program Files\Java\jdk1.6.0_10;
PATH变量,添加%JAVA_HOME%/bin;
最后确定即可.

jmeter安装

1.官网下载地址:http://jmeter.apache.org/download_jmeter.cgi

2.下载完成后解压zip包

3.启动JMeter

jmeter压测mysql驱动 jmeter压测配置_线程组


双击Jmeter解压路径下jmeter.bat即可

也可以Win+R键,直接输入jmeter,回车就可以打开jmeter接口测试

一般分五个步骤:(1)添加线程组 (2)添加http请求 (3)在http请求中写入接入url、路径、请求方式和参数 (4)添加查看结果树 (5)调用接口、查看返回值

jmeter压测mysql驱动 jmeter压测配置_线程组_02


注:要查看自己的接口是什么类型的请求方法,上述为get请求

jmeter压测mysql驱动 jmeter压测配置_线程组_03


添加聚合报告就可以查看测试后的相关信息。post请求

jmeter压测mysql驱动 jmeter压测配置_jmeter压测mysql驱动_04

注:post请求一定要给参数jmeter数据库资源监控

操作数据库基本有四个步骤:

(1)导入mysql的jdbc的jar包

(2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration

(3)线程组里添加jdbc request,写sql语句

(4)添加察看结果树,点击启动按钮,就能看到执行的SQL。具体的实例如下截图所示:

jmeter压测mysql驱动 jmeter压测配置_jmeter压测mysql驱动_05


JMeter可以针对多个数据库进行操作,下方提供一下常用的驱动

jmeter压测mysql驱动 jmeter压测配置_Java_06


压测结果查看

运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。

Samples:表示一共发出的请求数
Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)
Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因
Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。

Jmeter-webservice接口脚本

基本分为五个步骤:

(1)先需要通过soapui工具获取到webservice接口的请求地址、请求报文和请求soapaction。

(2)jmeter新建一个线程组

(3)线程组下建立SOAP/XML-RPC Request,写入请求url、请求报文、请求soapaction。

(3)启动jmeter,调用接口,通过察看结果树查看返回值。

soapui获取信息的实例如下图所示:

jmeter压测mysql驱动 jmeter压测配置_jmeter压测mysql驱动_07


soapui提交完后,点击raw,可看到soapation,有些接口若没返回soapation,则jmeter里也就不用填。

jmeter压测mysql驱动 jmeter压测配置_java开发_08


jmeter-webservice脚本实例如下图所示:

jmeter压测mysql驱动 jmeter压测配置_jmeter压测mysql驱动_09


在做压力测试的时候很多时候会要去测试并发,其实并发测试归属于压力测试,其中的差别就在于需求范围和间接的运行时间,如下图:

jmeter压测mysql驱动 jmeter压测配置_jmeter压测mysql驱动_10


*Rame-Up Period(in seconds):表示JMeter每隔多少秒发动一次,如果设置为0,就代表0秒跑一次,这里边数可以理解为多长时间跑一次(准备时间)