前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ChatGPT教你Jmeter分布式部署

ChatGPT教你Jmeter分布式部署

原创
作者头像
用户10443079
发布2023-04-25 14:35:24
4680
发布2023-04-25 14:35:24
举报
文章被收录于专栏:测试技术干活测试技术干活

请访问制造喵GPT地址:https://chat.plexpt.com/i/511440

一、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。

  2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。

3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。

二、代理机(Agent)配置:

1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.2.28

 3-打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.2.28:1099,1099是端口号,可以随意自定义。

4、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

另外Jmeter执行jmeter_server.bat报错java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)

 1、修改jmeter.properties文件下server.rmi.ssl.disable=true (记得去除server.rmi.ssl.disable=true前的#)

这行说明什么呢,就是让我们决定是不是要启动SSL

2、再次重新 执行jmeter_server.bat

三、控制机(Controller)配置:

1、Controller机上需要安装JDK、Jmeter,并且配置好环境变量。

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.2.211

3-打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.2.28:1099,192.168.2.211:1099,1099是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。

4、打开jmeter-server.bat文件,设置完成了。

另外Jmeter执行jmeter_server.bat报错java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)

 1、修改jmeter.properties文件下server.rmi.ssl.disable=true (记得去除server.rmi.ssl.disable=true前的#)

2、再次重新启动jmeter_server.bat

四、开始添加线程组和请求来运行查看结果:

1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。

2、添加HTTP请求,这里以访问淘宝为例。

3、添加察看结果数和聚合报告,点击运行,可以选择远程启动或者远程全部启动,如果是点击远程启动,可以选择任意一台电脑来运行,如果是点击远程全部启动就会运行控制机和所有的代理机。 

4、这里以点击远程全部启动为例。运行结束后,查看聚合报告,每台电脑设置的线程数为200,这里一共是两台电脑,所以是200*2=400个线程数。

  • 遇见问题及解决方法

一、问题:运行时提示Connection refused to host: 192.168.2.28; nested exception is:

java.net.ConnectException: Connection refused: connect(拒绝连接主机:192.168.2.28;

嵌套的异常:

connectexception:拒绝连接:连接)

解决方法:关闭防火墙

  • 打开jmeter-server.bat获取不到本地ip问题:

打开控制面板\网络和 Internet\网络连接,禁用其他不相关的网络服务

Jmeter配置联机负载生成密钥失败了, 看这里

在配置负载联机时, 控制机上需要生成密钥供负载机使用.

在bin目录下双击create-rmi-keystore.bat时, 弹出错误提示:

'XXXX'不是内部或外部命令, 这种典型的错误一看就环境变量的问题.

解决方案有两种:

  1. 最简单粗暴地就是找到keytool.exe在系统中所在的位置, 添加到环境变量中, 问题KO.
  2. 第2种方案是进入到keytool.exe所在的位置, 打开命令行窗口

并且使用记事本打开create-rmi-keystore.bat, 发现其中有效的命令行就一句:

在刚才打开的命令行窗口中运行这句命令: keytool -genkey -keyalg RSA -alias rmi -keystore rmi_keystore.jks -storepass changeit -validity 7 -keysize 2048

OK啦, 密钥可以正常创建了.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 另外Jmeter执行jmeter_server.bat报错java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)
  • 另外Jmeter执行jmeter_server.bat报错java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件)
  • Jmeter配置联机负载生成密钥失败了, 看这里
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档