Jmerte分布式压测及分布式压测配置教程(jmeter分布式压测,并发用户)

网友投稿 437 2022-08-01


目录1.本地基于jmeter创建压测项目2.将项目打包3.Master配置4.Slave配置5.启动Slave6.master启动压测7查看报告

1.本地基于jmeter创建压测项目

(1)pom中依赖jmeter包:

org.apache.jmeter

ApacheJMeter_java

5.2.1

(2)pom中增加打包方式

org.apache.maven.plugins

maven-compiler-plugin

1.8

1.8

true

true

UTF-8

${project.basedir}/lib

org.apache.maven.plugins

maven-war-plugin

${project.basedir}/lib

${project.basedir}/lib

**/*.jar

org.apache.maven.plugins

maven-surefire-plugin

false

org.apache.maven.plugins

maven-jar-plugin

*

org.apache.maven.plugins

maven-dependency-plugin

copy-dependencies

prepare-package

copy-dependencies

${project.build.directory}/lib

false

false

true

org.apache.maven.plugins

maven-assembly-plugin

2.5.5

jar-with-dependencies

(3)编写压测脚本:

继承AbstractJavaSamplerClient,并实现runTest方法。

public class StessTest extePzwctGQnds AbstractJavaSamplerClient {

@Override

public void setupTest(JavaSamplerContext javaSamplerContext) {

}

@Override

@SneakyThrows

public SampleResult runTest(JavaSamplerContext javaSamplerContext) {

SampleResult sampleResult = new SampleResult();

try {

sampleResult.sampleStart();

String result= 请求接口;

sampleResult.setResponseData(result, "UTF-8");

sampleResult.setSuccessful(false);

TimeUnit.SECONDS.sleep(1L);

} catch (Exception e) {

e.printStackTrace();

sampleResult.setResponseData(e.getLocalizedMessage(), "UTF-8");

sampleResult.setResponseCode(e.getMessage());

sampleResult.setSuccessful(false);

} finally {

sampleResult.sampleEnd();

}

return sampleResult;

}

@Override

public void teardownTest(JavaSamplerContext javaSamplerContext) {

super.teardownTest(javaSamplerContext);

}

@Override

public Arguments getDefaultParameters() {

return null;

}

2.将项目打包

将本地maven测试项目打成jar包:

mvn -U clean insall package

打包完后,有两个地方的包:target\lib、target下面的包

首先本地调试压测脚本是否生效

(1)创建一个线程组:

这里可以配置线程组名称,线程数,准备时长、循环次数,调度器等参数

(2)创建java请求

选好测试的方法,本地执行一下,看可以跑通后,去远程机器压测。

确定好Master和Slave机器,及被压测服务所在的机器。且master机器 及slave机器上都配置相同版本的jmeter。

将项目依赖的jar包都放到slave机器 jmeter\lib\ext路径下面。

3.Master配置

编辑$JMETER_HOME/bin/jmeter.properties文件

分别配置remote_hosts,和server.rmi.ssl.disable,端口号

server.rmi.ssl.disable=true

server.rmi.localport=1099

server_port=1099

remote_hosts=ip1,ip2,ip3,ip4,ip5,ip6

4.Slave配置

(1)所有的slave机器上对应修改 $JMETER_HOME/bin/jmeter.properties文件

server.rmi.ssl.disable=true

(2)所有的slave机器需要在$JMETER_HOME/lib/ext下放压测脚本依赖的jar包

5.启动Slave

每台slave机器上都启动jmeter

直接启动

$JMETER_HOME/bin/jmeter-server

或者指定机器的ip启动(建议指定ip启动)

jmeter-server -Djava.rmi.server.hostname=xxx (机器的ip地址)

6.master启动压测

onlinePressTest.jmx是用界面版jmeter生成的一个线程组,保存下来,放到master机器上

运行压测脚本:

jmeter -n -r -t onlinePressTest.jmx -l stressTest.jtl-e -o webStressTest

7查看报告

stressTest.jtl 是压测结果,可以导出到本地,使用jmeter打开,获取报告


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringCloud GateWay网关示例代码详解
下一篇:【干货】3分钟了解 API 全生命周期
相关文章

 发表评论

暂时没有评论,来抢沙发吧~