压测测试报告

一、为什么要做分布式??
1、Jmeter 本身的局限性

一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿、无响应等情况,这是受限于
Jmeter 其本身的机制和硬件配置(内存、CPU等)
由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户数时,单机很容易出现 JAVA
内存溢出的错误,导致测试脚本本身就有瓶颈
2、JVM 堆内存的局限性
ava 应用的 jvm 堆内存 heap 受压力机硬件限制,虽然我们可以调整堆内存大小

cmd 启用 Jmeter GUI 时,也会有提示

increase Java Heap to meet your test requirements: Modify current env variable HEAP=“-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m” in the jmeter batch file

翻译:增加 Java 堆内存来满足测试的要求

但是单机无法支撑数以万计大并发,此时,需要多个压力机进行分布式压力测试,这样性能瓶颈就不会是我们的压力机了

3、联想场景

测试 5000 并发的场景,但单机只能支持 1000 并发无法达到 5000
通过分布式(5 台机器起)可以模拟 5000 并发
但是单机无法支撑数以万计大并发,此时,需要多个压力机进行分布式压力测试,这样性能瓶颈就不会是我们的压力机了

4、分布式压测
Jmeter 支持分布式压测,将需要模拟的大量并发用户数分发到多台压力机,使 Jmeter 拥有更大的负载量,满足真实业务场景(高并发场景)

5、分布式的最终目的

确保压力机不会出现性能瓶颈
在后面进行性能分析时,不需要考虑压力机是否会导致性能瓶颈的主要原因之一
二、Jmeter分布压测的原理
1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。
2、执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。
3、执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。

这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果

首先,在我们开始之前,有几件事要检查:
1.系统上的防火墙已关闭或打开了正确的端口。
2.所有客户端都在同一子网中。
3.如果使用192.xxx或10.xxx IP地址,则服务器位于同一子网中。如果服务器不使用192.xx或10.xx IP地址,则应该没有任何问题。
4.确保JMeter可以访问服务器。
5.确保在所有系统上使用相同版本的JMeter和Java。混合版本将无法正常工作。
6.您已经为RMI设置了SSL或将其禁用。

三、环境准备
Jmeter安装包和JAVA jdk 安装包自行下载:

Jmeter官网链接:https://jmeter.apache.org/download_jmeter.cgi
Java_jdk官网链接:https://www.oracle.com/technetwork/java/javase/downloads/index.html

在本地slave机器的Jmeter的bin目录下,找到一个为jmeter.properties的文件,在文件内容中找到remote_hosts字段,添加一个远程负载机的IP地址,负载机查询本机IP并填入,端口默认是1099。

这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等

启动以后看到这个就基本

Jmeter分布式实践相关推荐

  1. Jmeter 分布式测试完整实践过程(部署成功)

    单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. ...

  2. 性能测试搭建Jmeter分布式压测与监控

    对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容性能提升大 ...

  3. 搭建 Apache Jmeter 分布式压测与监控

    1.前言 对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容 ...

  4. Jmeter分布式压测介绍、原理及实操(一台master-windows控制机,三台slaves-linux负载机)

    前言:大家在使用jmeter压测过程中,可能会度遇到内存溢出的错误,这是为什么呢? 因为jmeter是java写的应用,java应用jvm堆内存heap受负载机硬件限制,虽然我们可以调整堆内存大小,但 ...

  5. 【软件测试培训】了解jmeter分布式测试

    一提到分布式测试,大家肯定会觉得,哇!好高大上,一定很高深的吧,这里老师推出不做傻白甜系列文章,带同学们一步一步理解jmeter的分布式测试. 首先我们来看下jmeter自动化测试的流程 ,见如下图1 ...

  6. Jmeter --- 分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  7. JMeter 分布式性能测试

    作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错 ...

  8. jmeter分布式测试配置

    jmeter分布式测试 说明:1台8核16G的windows2008的机器,只能器6000个线程,否则效果不是很好:并且负载机器需要做如下设置: 1.打开注册表:regedit 2.HKEY_LOCA ...

  9. 【Jmeter篇】Jmeter分布式调度压测部署

    Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...

最新文章

  1. 与webview打交道中踩过的那些坑
  2. 计算 的程序java_数学表达式计算程序(java)
  3. Python如何打包EXE可执行文件
  4. 算法之矩阵计算斐波那契数列
  5. android动画设置的单位,Kotlin语言入门—实现单位转换,view设置,动画等
  6. 信元模式mpls 避免环路_【基础】交换机堆叠模式
  7. HDFS Federation在美团点评的应用与改进
  8. 黑马程序员python笔记_三年Python程序员平时学习笔记总结,对于学习Python非常有帮助...
  9. 歪枣网股票数据下载接口汇总一
  10. OJ1074: 百钱买百鸡(C语言)
  11. git-撤销工作与的修改-回退缓存区的修改
  12. 怎样把输入的文本转换成html代码存入数据库啊
  13. java中序列化一个对象保存在文件中的简单过程
  14. win10安装cmder和WSL
  15. 太阳方位角 太阳天顶角
  16. 产品经理 项目经理 技术经理的区别
  17. larval中redis的用法
  18. 易语言 网页_取文本_reg的源码
  19. 移动云计算究竟是做什么的?
  20. 基于坡度理论的点云滤波方法(二)

热门文章

  1. 小程序开发遇见的常见问题
  2. pytorch之torch.Tensor
  3. android studio TCP客户端通讯
  4. 蓝桥杯历届试题-蚂蚁感冒
  5. 华为2288H V5 重装系统无法开机问题
  6. 判断一个数是不是Sky数
  7. Photozoom pro 7中文版下载
  8. 详解图片放大软件PhotoZoom分屏预览功能
  9. 振镜可以用计算机控制,振镜扫描式打标头
  10. 云管边端架构图_边缘云平台架构与应用案例分析