背景:

因为双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对spring boot项目进行性能压测 jmeter压测流程_服务器

二、安装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

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_02

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

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

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_03

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

 

三、接口测试

计数器:

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_04

 

 随机变量:

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_05

BeanShell 后置处理程序:

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_06

 

 

 

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

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_07

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

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

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_压测_08

(2)修改Beanshell的路径

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_java_09

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

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_压测_10

 

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:后面接日志名称,保存运行结果

 

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_服务器_11

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

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_压测_12

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

如何对jmeter对spring boot项目进行性能压测 jmeter压测流程_服务器_13

 

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

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