性能测试(20)——分布式压测

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 在使用JMeter进行性能测试时,如果并发数比较大(比如项目需要支持10000并发),单台电脑的(CPU和内存)可能无法支持,这时 可以使用JMeter提供的分布式测试的功能。
 在使用JMeter进行性能测试时,如果并发数比较大(比如项目需要支持10000并发),单台电脑的(CPU和内存)可能无法支持,这时 可以使用JMeter提供的分布式测试的功能。  

JMeter分布式执行原理

  • JMeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。
  • 执行时,控制机会把脚本发送到每台代理机上,代理机拿到脚本后就开始执行,代理机执行时不需要启动JMeter界面,可以 理解它是通过命令行模式执行的。
  • 执行完成后,代理机会把结果回传给控制机,控制机会收集所有代理机的信息并汇总。

    代理机(Agent)配置

  1. Agent机上需要安装JMeter,可以从控制机上拷贝一份出来,因为JMeter是免安装的
  2. 修改服务端口
  • 注意:非必须。如果是在同一台机器上演示需要使用不同的端口,多台机器可以不修改
  • 打开bin/jmeter.properties文件,修改server_port,比如:server_port=2001
  1. 将RMI SSL设置为禁用
  • 打开bin/jmeter.properties文件,修改为:server.rmi.ssl.disable=true
  1. 运行Agent上的jmeter-server.bat文件,启动JMeter,注意是jmeter-server.bat

案例:
image.png

控制机(Controller)配置

  1. 修改JMeter的bin目录下jmeter.properties配置文件,修改remote_hosts
  • 示例:remote_hosts=192.168.182.100:1099,192.168.182.101:1099
  • IP和Port是Agent机的IP以及自定义的端口,多台Agent之间用","隔开
  1. 将RMI SSL设置为禁用
  • 打开bin/jmeter.properties文件,修改为:server.rmi.ssl.disable=true
  1. 启动JMeter
  2. 选择菜单:运行-->远程启动/远程全部启动

image.png

注意事项

Changing to JMeter home directory Could not find ApacheJmeter_core.jar

启动jmeter-server.bat如出现上述报错,请在我的电脑——高级设置——环境变量——添加系统变量和path变量,系统变量新增一条JMETER_HOME,为jmeter的安装目录,path新增一条%JMETER_HOME%\bin
如果使用csv进行参数化,那么需要把参数文件在每台代理机上拷一份且路径需要设置成一样的;

运行

分配每一位代理机的线程数,总线程数 = 控制机线程数代理机数,如图 5 X 2 = 10;
image.png
结果
image.png

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
消息中间件 弹性计算 Java
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
使用阿里云性能测试工具 JMeter 场景压测 RocketMQ 最佳实践
1277 5
|
开发框架 测试技术 Serverless
通过性能测试PTS对Serverless应用进行性能压测
本文为您介绍如何利用性能测试PTS对Serverless应用进行性能压测
|
22天前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
42 3
|
3月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
101 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
2月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
57 3
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
49 1
|
4月前
|
资源调度 Java 调度
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
项目环境测试问题之Schedulerx2.0通过分布式分片任务解决单机计算瓶颈如何解决
|
4月前
|
存储 监控 数据可视化
性能监控之JMeter分布式压测轻量日志解决方案
【8月更文挑战第11天】性能监控之JMeter分布式压测轻量日志解决方案
97 0
性能监控之JMeter分布式压测轻量日志解决方案
|
7月前
|
关系型数据库 MySQL 数据库
测试部署PolarDB-X 分布式与集中式
在本文中,作者详述了在CentOS 7.9上部署测试PolarDB-X分布式与集中式数据库的过程。PolarDB-X作为阿里云优化的分布式数据库,提供高稳定性和与MySQL的兼容性,是应对单体数据库扩展性和性能瓶颈的解决方案,同时也符合国产化需求。文章介绍了部署环境准备,包括关闭防火墙和SELinux,设置系统参数,安装Python3和Docker,以及配置MySQL客户端。接着,通过PXD工具部署了PolarDB-X的集中式和分布式版,遇到的问题包括阿里云镜像源异常导致的部署失败以及指定版本安装的困扰。最后,作者进行了初步的压力测试,并对文档完善、生态工具建设以及提供更多使用案例提出了建议。
47970 10
测试部署PolarDB-X 分布式与集中式
|
5月前
|
监控 Java 测试技术
性能测试:主流压测工具介绍
**性能压测工具摘要:** - Apache AB:命令行基准测试工具,简单轻量,用于评估服务器性能。 - Apache JMeter:开源Java框架,支持多种协议,适合复杂负载测试,提供丰富的图表和报告。 - nGrinder:开源,提供直观界面,支持分布式测试,录制回放脚本,实时监控。 - Locust:Python基础,适用于HTTP/WebSocket测试,可扩展,实时监控。 - LoadRunner:Micro Focus的商业工具,广泛支持多种协议,功能强大。