IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 官方教程Jmeter分布式远程测试 -> 正文阅读

[开发测试]官方教程Jmeter分布式远程测试

官方教程Jmeter分布式远程测试

1.概述

这篇文章通过阅读官方手册配置Jmeter分布式测试环境,同时对官方的教程进行扩展介绍一些配置分布式测试环境其他方式。

2.Jmeter官方远程测试

2.1.阅读官方手册

1.查看官方手册目录

通过查看官方手册目录,找到远程测试的章节进行阅读。
https://jmeter.apache.org/usermanual/index.html
在这里插入图片描述

2.阅读远程测试章节

打开官方手册远程测试章节后,发现远程测试的配置非常简单,下面就来看下原文和译文吧。

  • 第0步:开始配置前需要确认控制机和执行机的三件事情

在这里插入图片描述

  • 第1步:所有执行机器启动Jmeter服务
    在这里插入图片描述
  • 第2步:在控制机配置文件中添加执行机IP地址
    在这里插入图片描述
  • 第3步:启动Jmeter测试
    • 控制机启动远程测试时,执行机本地不需要测试脚本,控制机有一份脚本即可,他会在调用执行机时将脚本内容共享给执行机。
    • 控制机远程启动测试有两个方式,windows通过界面启动和Linux环境通过命令方式启动。

windows环境界面启动远程测试
在这里插入图片描述
Linux命令远程启动测试
在这里插入图片描述

2.2.跟着官方手册配置远程测试

1.名词统一

控制机:master端,调用远程控制node端发起压力。
执行机:node端,发压机产生负载的机器。

2.控制机关闭ssl

在控制机上编辑jmeter.properties配置文件,找到server.rmi.ssl.disable属性将它的注释去掉,将值改成true

# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true

3.控制机添加执行机IP地址

在控制机上编辑jmeter.properties配置文件,找到remote_hosts属性,将执行机IP地址填上,多个执行机IP地址用逗号分隔。

# Remote Hosts - comma delimited
remote_hosts=172.16.8.222
#remote_hosts=localhost:1099,localhost:2010

# RMI port to be used by the server (must start rmiregistry with same port)
#server_port=1099

4.执行机关闭ssl

在所有的执行机上编辑jmeter.properties配置文件,找到server.rmi.ssl.disable属性将它的注释去掉,将值改成true

# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true

5.Linux环境开始远程测试

  • 所有的执行机都在jmeter/bin目录下执行./jmeter-server命令启动服务。出现下面的提示表示执行端启动成功。
[root@AgileTC bin]# ./jmeter-server 
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[172.16.8.222:33656](local),objID:[1842c35d:17db3059440:-7fff, -2691241846961766586]]]
Starting the test on host 172.16.8.222 @ Mon Dec 13 17:08:01 CST 2021 (1639386481120)
  • 控制机调用执行机发起远程测试
    在控制机上执行测试命令
jmeter -n -t ./JmeterScript/LiveStreaming.jmx -r 

#参数介绍
-n:命令模式启动
-t:脚本名称
-r:调用所有执行机

6.官方远程测试总结

  • 官方提供的远程测试操作方法是最简单的,配置步骤最少的。
  • 官方配置的远程测试控制机和执行机通信使用默认的端口号1099,因此在控制机添加执行机时只写IP地址,不需要写端口号。
  • 官方默认端口号是在jmeter/bin目录下 jmeter-server文件中。
# One way to fix this is to define RMI_HOST_DEF below
#RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx

${DIRNAME}/jmeter ${RMI_HOST_DEF} -Dserver_port=${SERVER_PORT:-1099} -s -j jmeter-server.log "$@"

3.远程测试扩展

3.1.修改远程测试端口号

当默认的1099端口号被占用时,我们可以通过修改端口号解决。
端口号定义的位置有两个文件可以配置

  • jmeter.properties和jmeter-server
  • jmeter.properties配置的端口号会覆盖jmeter-server文件配置的端口号
  • 如果修改端口号,在控制机添加执行机IP地址时就需要带上执行机配置的端口号。

3.2.修改端口号例子

1.执行机修改端口号

  • jmeter.properties配置文件中端口号默认是注释的,因此会先读取jmeter-server文件中的端口号。
  • 当我们打开jmeter.properties配置文件中端口号就会覆盖jmeter-server文件中的端口号。
  • 编辑执行机上jmeter.properties配置文件中端口号
# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010

# RMI port to be used by the server (must start rmiregistry with same port)
server_port=2099

2.控制机修改执行机IP地址+端口号

在控制机上编辑jmeter.properties配置文件,添加执行机IP地址和端口号

# Remote Hosts - comma delimited
remote_hosts=172.16.8.222:2099
#remote_hosts=localhost:1099,localhost:2010

# RMI port to be used by the server (must start rmiregistry with same port)
#server_port=1099

3.3.调整执行机JVM

使用远程测试,执行机jvm默认值较低,可能会出现堆内存溢出。通过jmeter/bin目录下的jmeter文件配置jvm参数。

# 编辑jmeter文件
vim jmeter

# 设置堆内存
# This is the base heap size -- you may increase or decrease it to fit your
# system's memory availability:
: "${HEAP:="-Xms5g -Xmx5g -XX:MaxMetaspaceSize=1g"}"

# Set language
# Default to en_EN
: "${JMETER_LANGUAGE:="-Duser.language=en -Duser.region=EN"}"

3.4.设置执行机日志级别

执行机如果日志量非常大的情况也会导致一些问题,因此我们需要将日志级别调整为warn或者error级别。
打开jmeter/bin目录下的log4j2.xml文件调整日志级别

vim log4j2.xml 

 <!-- 设置日志级别为warn-->
 <Root level="warn">
      <AppenderRef ref="jmeter-log" />
      <AppenderRef ref="gui-log-event" />
 </Root>

3.5.配置控制机是否参与负载

在控制机添加执行机时,如果不添加控制机的地址那么控制机只做调度不产生负载,如果需要控制机也产生复杂那就添加上控制机地址。

1.控制机不作为负载机

在控制机的jmeter.properties文件中只添加执行机IP地址

# Remote Hosts - comma delimited
remote_hosts=172.16.8.222
#remote_hosts=localhost:1099,localhost:2010

2.控制机作为负载机

在控制机的jmeter.properties文件中添加本机127.0.0.1 IP地址,作为负载机。

# Remote Hosts - comma delimited
remote_hosts=127.0.0.1,172.16.8.222
#remote_hosts=localhost:1099,localhost:2010
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:35:34  更:2021-12-15 18:37:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 6:39:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码