压测工具Jmeter介绍及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了压测工具Jmeter介绍及使用相关的知识,希望对你有一定的参考价值。

一、压测工具选型 1.1、前言

压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,关于java应用的压力测试,业界常用工具为Apache Jmeter。。 1.2、工具概述

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。 Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。 二、压测工具安装 2.1、软件版本

本次测试,选择Jmeter官方最新版本进行。由于只有windows操作系统具备Jmeter的可视化界面,因此本次选择windows版本进行安装,以方便进行压测配置。 2.2、安装步骤

下载Jmeter:https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.5.tgz
解压到指定文件夹:D:\\software\\Dev-Env\\Jmeter\\apache-jmeter-5.5
配置到环境变量:主要配置JMETER_HOME=D:\\software\\Dev-Env\\Jmeter\\apache-jmeter-5.5\\bin以及CLASSPATH配置%JMETER_HOME%\\bin;
运行Jmeter:在安装目录下bin文件夹,找到jmeter.bat,双击运行即可。成功后显示如下:

注意该窗口的提示信息,意思就是:不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试: jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]


三、应用平台压测(登录接口) 3.1、配置线程池

考虑到目前的用户量,配置500个线程,循环1次。

3.2、配置请求头

在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】。配置我们需要进行测试的程序协议、地址和端口。

当所有接口测试访问域名和端口都一样时,可使用该元件,一旦服务器地址变更,只需要修改请求默认值。

3.3、配置接口HTTP请求

在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。Taier登录接口用的form-data,需要在请求头进行设置。

3.4、添加请求头

上一步骤中涉及到的数据请求方式等,都可以在此配置。

3.5、添加断言

在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息

3.6、添加查看结果树

在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。直接添加,然后点击运行按钮就可以看到结果了。

3.7、添加汇总报告

在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【Summary Report】。直接添加,然后点击运行按钮就可以看到结果了。

3.8、保存执行计划

3.9、执行测试计划

前面我们说过,执行测试计划不能用GUI,需要用命令行来执行。

jmeter -n -t Taier平台压力测试.jmx -l result.txt -e -o taierLoginWebReport

在命令行执行以上命令

结束之后会在当前目录下生成压测报告、压测结果和压测日志

jmeter.log result.txt 3.10、获取压测报告

进入压测报告文件夹,双击打开index.html即可获取压测报告详情。 总体报告:

响应报告

jmeter安装配置教程及使用

背景:

因为双11,黑五快到了,所有的互联网电商行业都要做一件事情,那就是压测,常见的压测很多区分,接口压测和全链路压测、线上压测和线下压测,单元压测和功能压测。我们这里介绍一下接口压测和全链路压测。

常见使用的工具包括:zabbix、zuul、netdata、arthas、nginx流量监测。

常见压测工具包括:gatling 、jmeter等等

安装方法:

一、在Linux服务器先安装sdk(目前所有服务器均安装了java,可先查看java-version)

1、先从客户端下载jdk1.8.0_144.tar.gz,再上传到服务器

2、解压:tar -xzf jdk1.8.0_144.tar.gz,生成文件夹 jdk1.8.0_144

3、在/usr/local目录下创建java文件夹,再将 jdk1.8.0_144目录移动到/usr/local/java中

1)cd /usr/local

2) mkdir java

3)mv jdk1.8.0_144 /usr/local/java

3、配置java环境变量

1)vi /etc/profile

2)在最后面增加两行

     export JAVA_HOME=/usr/local/java/jdk1.8.0_144

     export PATH=$JAVA_HOME/bin:$PATH

    重启虚拟机后配置才会生效

3)执行命令:source /etc/profile,无需重启,配置的环境变量立马生效

     或者执行以下命令(必须是root角色,普通角色没有权限)

     # export JAVA_HOME=/usr/local/java/jdk1.8.0_144

     # export PATH=$JAVA_HOME/bin:$PATH

4、查看是否安装成功,执行命令:java-version

 技术图片

二、安装Jmeter 

1、将本地的Jmeter文件打包成zip文件:apache-jmeter-3.1.zip,再上传到服务器(路径/usr/local)

2、在服务器解压缩,生成apache-jmeter-3.1目录

1)安装unzip:apt-get install unzip 

2)解压缩:unzip apache-jmeter-3.1.zip

3、配置Jmeter环境变量。vi /etc/profile,再添加如下变量

export JMETER_HOME=/usr/local/apache-jmeter-3.1

export PATH=$JMETER_HOME/bin:$PATH

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH

 技术图片

4、source /etc/profile (让配置文件立马生效)

5、查看是否安装成功,执行命令:jmeter -v

 技术图片

注意如果之前有数据或者切换了jmeter新版本,会发现少jar包,需要copy jar包到apache-jmeter-5.1libext  下。

 

三、接口测试

计数器:

技术图片

 

 随机变量:

 技术图片

BeanShell 后置处理程序:

技术图片

 

 

 

1、用例中涉及的Beanshell和csv、txt等文件上传(路径/usr/local/apache-jmeter-3.1/tools)

 技术图片

2、修改用例中的配置文件路径

(1)user_linux.txt存储多用户名,方便循环多用户登录。修改该文件的配置路径。

 技术图片

(2)修改Beanshell的路径

 技术图片

3、将本地生成的jmx文件上传到服务器(路径/home/jmx)

 技术图片 

4、输入命令后台运行:# nohup jmeter -n -t /home/jmx/login_circle.jmx -l log.jtl &

      (前台运行jmeter -n -t /home/jessica/httpThread.jmx -l log.jtl       

查看cat log.jtl,注意此方法返回即退出运行)

     参数说明:

     -n:以NoGUI方式运行脚本

            -t:后面接脚本名称

            -l:后面接日志名称,保存运行结果

 技术图片

5、查看后台运行过程 tailf nohup.out  (查找nobup.out所在路径 find / -name nohup.out )

技术图片

6、查看用例报告,vi /home/jmx/log.jtl

技术图片 

 7、图形化报表导出命令:

./jmeter -n -t /jpTest.jmx -l  /test20191018001.jtl -e -o /report/

 

以上是关于压测工具Jmeter介绍及使用的主要内容,如果未能解决你的问题,请参考以下文章

jmeter压测网站

jmeter安装配置教程及使用

性能测试实战 | JMeter 录制/回放做 App 后端性能压测

性能工具之Jmeter扩展函数及压测ActiveMQ实践

压测工具之JMeter之环境配置及运行

压测工具笔记(二)之JMeter