jmeter 分布式压测数据库


当前版本:

  • jmeter 5.6.3

        

文章目录如下

1. 分布式压测的作用

2. 分布式压测的步骤

2.1. 下载jmeter

2.2. 配置相关文件

① 内存配置

② 控制机配置

③ 压力机配置

④ 远程调度配置

2.3. 运行测试

① 命令行运行

② GUI工具运行


        

1. 分布式压测的作用

JMeter分布式压测的主要作用是通过将压力分散到多个机器上来模拟大量用户同时访问系统的情景。

    对于低并发使用一台压力机即可,当并发量达到一定程度时(比如100w)单台压测机显然不能满足测试要求,所以提出了分布式压测。将一台压力机作为控制机,再准备几台机器用作压力机,将并发的压力分摊到每台机器上就能够模拟大规模用户同时访问系统的情况。

        

2. 分布式压测的步骤

需要准备1台控制机和几台压力机,具体根据实际情况来定。

2.1. 下载jmeter

官网地址

https://jmeter.apache.org/download_jmeter.cgi

将下载 jmeter 分别放在控制机和压力机上(注意:版本要一致)。

详细的安装方法见另一篇文章:

https://blog.csdn.net/m0_61066945/article/details/127712770

        

2.2. 配置相关文件

① 内存配置

举个例子,在 Linux 中运行使用 jmeter 或 jmeter.sh,那么配置这两个文件;在 Windows 中运行使用 jmeter.bat,那么就配置这个 jmeter.bat 文件。在文件中找到这一行:

HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"

  • -Xms1g:指定初始堆内存大小为 1GB。
  • -Xmx1g:指定最大堆内存大小为 1GB。
  • -XX:MaxMetaspaceSize=256m:指定 Metaspace 区域的最大空间为 256MB。它用于存储类的元数据信息的,并不直接受 -Xms 和 -Xmx 这两个参数的影响。Metaspace 的大小由 JVM 自动管理,根据需要动态调整,不受 Java 堆的限制。但它在实际运行过程中仍然需要占用一部分内存空间。如果设置过小的 Metaspace 大小,可能导致元数据无法存储,从而导致类加载失败。如果设置过大的 Metaspace,可能占用了过多的本地内存,导致系统资源不足。

比如系统总内存128GB,测试 1000 并发,那么可以配置初始2g,最大8g,Metaspace 1g。

  • 在 1000 并发的情况下,可以设置较高的初始堆内存,以保证开始时的性能。
  • 根据业务复杂度,如果业务比较消耗内存,则可以增大-Xmx 。

注意:压力机和控制机都需要配置内存,根据实际情况配置就行 

        

② 控制机配置

控制机就是控制其他压力机的主机,配置 jmeter/bin/jmeter.properties 文件

1、找到 remote_hosts

remote_hosts=[压力机1:它的端口],[压力机2:它的端口]

配置运行测试的机器,如果需要让自身(控制机)也运行测试,那么加入本机IP、端口即可。 

        

2、找到 server_port

server_port = [端口号]  # 未被占用的端口

        

3、找到 server.rmi.ssl.disable

server.rmi.ssl.disable=true

        

③ 压力机配置

压力机就是分担压力的机器,也是配置 jmeter/bin/jmeter.properties 文件

 1、找到 remote_hosts

remote_hosts=127.0.0.1    # 使用本地机器执行

        

2、找到 server_port

server_port = [端口号]  # 需要未被占用的端口

        

3、找到 server.rmi.ssl.disable

server.rmi.ssl.disable=true

        

④ 远程调度配置

控制机和所有的压力机都需要配置 jmeter/bin/jmeter-server

RMI_HOST_DEF=-Djava.rmi.server.hostname=[当前环境IP]

        

所有环境启动远程控制服务

./jmeter-server

        

2.3. 运行测试

  • jmeter 支持命令行和GUI远程运行.

① 命令行运行

jmeter -n -t 测试文件 -r -l 输出结果 -e -o 生成报告路径
  • -n:命令行模式运行JMeter
  • -t:指定要执行的jmx文件
  • -r:远程运行JMeter客户端和服务器模式
  • -l:指定测试结果的日志文件(类似于查看结果树)
  • -e:在测试结束后生成HTML报告
  • -o:指定用于生成HTML报告的目标目录

        

② GUI工具运行

  • 启动:启动当前机器测试
  • 远程启动:指定启动某个压力机
  • 远程启动所有:启动配置的全部压力机

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一款开源的压力测试工具,可以用于对Web应用程序、Web服务、数据库、FTP等各种服务进行压力测试。JMeter分布式架构可以提高测试效率,通过多台机器同时执行测试计划,可以模拟更多的用户并发请求。以下是JMeter分布式压测的步骤: 1. 搭建JMeter服务器 首先需要搭建JMeter服务器,即Master节点。在一台机器上启动JMeter,创建测试计划,并在测试计划中添加线程组、Sampler、Listener等元素。然后在JMeter的“Run”菜单中选择“Remote Start”,选择“Remote Start All”,即可启动JMeter服务器。 2. 配置JMeter客户端 在其他机器上安装JMeter,并使用“jmeter-server”命令启动JMeter客户端。在启动命令中需要指定Master节点的IP地址和端口号,例如: jmeter-server -Djava.rmi.server.hostname=192.168.0.1 -Dserver_port=1099 3. 配置JMeter测试计划 在JMeter的测试计划中,需要将Sampler和Listener的数量控制好,以免出现负载不均衡的情况。同时,需要将Sampler和Listener的名称设置为相同,以便于Master节点进行统计和汇总。 4. 启动JMeter测试 在Master节点上,选择“Run”菜单中的“Remote Start”,选择需要执行的客户端,然后点击“Start”按钮,即可启动测试。在测试执行期间,Master节点会收集所有客户端的测试结果,并进行汇总和分析。 总结: 以上是JMeter分布式压测的步骤,需要注意的是,在使用JMeter进行分布式压测时,需要掌握一定的网络知识和JMeter的使用技巧,以便于实现压测的准确性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值