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解压路径下jmeter.bat即可
也可以Win+R键,直接输入jmeter,回车就可以打开jmeter接口测试
一般分五个步骤:(1)添加线程组 (2)添加http请求 (3)在http请求中写入接入url、路径、请求方式和参数 (4)添加查看结果树 (5)调用接口、查看返回值
注:要查看自己的接口是什么类型的请求方法,上述为get请求
添加聚合报告就可以查看测试后的相关信息。post请求
注:post请求一定要给参数jmeter数据库资源监控
操作数据库基本有四个步骤:
(1)导入mysql的jdbc的jar包
(2)创建数据库的连接配置,线程组里添加配置元件-JDBC Connection Configuration
(3)线程组里添加jdbc request,写sql语句
(4)添加察看结果树,点击启动按钮,就能看到执行的SQL。具体的实例如下截图所示:
JMeter可以针对多个数据库进行操作,下方提供一下常用的驱动
压测结果查看
运行完后,聚合报告会显示压测的结果。主要观察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获取信息的实例如下图所示:
soapui提交完后,点击raw,可看到soapation,有些接口若没返回soapation,则jmeter里也就不用填。
jmeter-webservice脚本实例如下图所示:
在做压力测试的时候很多时候会要去测试并发,其实并发测试归属于压力测试,其中的差别就在于需求范围和间接的运行时间,如下图:
*Rame-Up Period(in seconds):表示JMeter每隔多少秒发动一次,如果设置为0,就代表0秒跑一次,这里边数可以理解为多长时间跑一次(准备时间)