博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jmeter之分布式执行测试
阅读量:4356 次
发布时间:2019-06-07

本文共 2724 字,大约阅读时间需要 9 分钟。

一. 安装Java

1.1下载JDK

1 Windows安装jdk,下载完成后,双击安装

2Linux解压:tar -zxvf jdk-8u74-linux-x64.gz

1.2 Java环境变量

1Windows

变量名:【JAVA_HOME
变量值:【D:\Program Files\Java\jdk1.8.0_92】【jdk安装路径】
变量名:【path
变量值:【\;%JAVA_HOME%\bin;
变量名:【CLASSPATH
变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

 

2Linux

shell终端执行命令: vi /etc/profile

profile文件末尾加入:

       JAVA_HOME=/usr/java/jdk1.8.0_74

       PATH=$JAVA_HOME/bin:$PATH

       CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

       export JAVA_HOME, PATH, CLASSPATH

# source /etc/profile  执行后生效

1.3检查

1cmdshell输入java -version,检查是否显示jdk信息,确定是否安装成功

 

 

二. 安装Jmeter

2.1 下载

解压:Linuxtar -zxvf  xxxxx.tar

 

2.2 Jmeter环境变量

1Windows

【变量名】JMETER_HOME
【变量值】E:\apache-jmeter-3.1jmeter解压路径)
【变量名】CLASSPATH
【变量值】

%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMET ER_HOME%\lib\logkit-2.0.jar;

 

2)Linux

方法一:

  在/etc/profile文件中添加变量【对所有用户生效(永久的)

$ vi /etc/profile   

添加以下内容:

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

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.j ar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

 

# source /etc/profile  执行后生效

 

方法二:  

在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)

  # vi .bash_profile

  添加内容同上。

# source .bash_profile  生效

 

三. 设置JVM内存

3.1 Windows

找到JMeter bin目录下的jmeter.bat文件编辑

 

set HEAP=-Xms2048m -Xmx2048m

 

set NEW=-XX:NewSize=640m -XX:MaxNewSize=640m

3.2 Linux

linuxjmeter文件修改

 

3.3 JVM监控工具

jconsolejvisualvmjmapjpsjstackjhatjstat

 

 

四. 分布式配置

1、在控制机上修改bin/jmeter.properties,添加从机的IP及端口(使用-r启动所有从机)1099是默认的rmi通信端口

# Remote Hosts - comma delimited

remote_hosts=192.168.5.95:1099,192.168.5.103:1099

2、开启执行脚本机器上的server服务,bin/jmeter-server

3、在控制机执行分布式命令

指定从机IP:

jmeter -n -t testplan/comic.jmx -R 192.168.5.95,192.168.5.103 -l testResult/result1.jtl

启动所有从机执行脚本

jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

 

 

五. 运行

jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

 

-n :以非GUI形式运行Jmeter

-t source.jmx 脚本路径

-l result.jtl 运行结果保存路径(.jtl,此文件必须不存在,重新执行需要手动删除已经生成的jtl文件

-e :在脚本运行结束后生成html报告

-o :用于存放html报告的目录

 

这样就可以启动测试了。 但是启动之前要求result.jtl这个文件不存在,所以要注意运行前删除这个文件

Shell

rm -rf /tmp/result.jtl && rm -rf /work/ResultReport/ && ./jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

 

可以进一步将这三个命令定义在一个shell脚本中

Shell

#!/bin/bash

rm -rf /tmp/result.jtl

rm -rf /work/ResultReport/

./jmeter -n -t /work/test/franklin.jmx  -r -e -l /tmp/result.jtl -o /work/ResultReport

 

六. 脚本

6.1 Token 提取

添加正则表达式:"data":"(.*?)" ,提取匹配字符到变量$token;

Default value:null .

6.2 Header manage

Authorization ${token}

content-type application/json;charset=UTF-8

 

转载于:https://www.cnblogs.com/lianstyle/p/10273282.html

你可能感兴趣的文章
Python3.x:抢票
查看>>
前端三大主流框架的对比React、Vue、Angular 所谓是是三分天下
查看>>
SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解
查看>>
从开发消费者变成开发生产服务者
查看>>
玩转html5(三)---智能表单(form),使排版更加方便
查看>>
JavaSE-17 泛型
查看>>
net core静态文件 访问除默认目录文件配置
查看>>
mysql—数据库优化——如何选择合适的索引
查看>>
数据库基础
查看>>
百度地图API示例之添加自定义控件
查看>>
计时器
查看>>
Spring学习笔记——Spring MVC表单控制器(SimpleFormController)
查看>>
c++学习笔记之函数重载和模板理解
查看>>
完美世界笔试题-递增子序列B-最长递增子序列打印
查看>>
ImageView实现适屏和裁剪图片功能
查看>>
iOS开发--1.对runtime的理解和整理
查看>>
清除浮动 -- 具有兼容性
查看>>
CF778D Parquet Re-laying 构造
查看>>
SpringMVC如何接收application/json内容编码类型的参数?
查看>>
【推荐系统】neural_collaborative_filtering(源码解析)
查看>>