目 录CONTENT

文章目录

性能测试-第四节(分布式压测)

兜兜管理员
2025-01-25 / 0 评论 / 0 点赞 / 10 阅读 / 0 字
温馨提示:
本文最后更新于2025-01-25,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

问题:如果要你测一个10W并发,你会怎么做?

  • 关键问题:不是那么简单

  • 错误回答: 做个梯度压测--按时间慢慢加线程!

  • 电脑的承载能力上限的-- 做性能测试经常会出现,服务器没崩,但是压测机报错了!

  • 2.4 GHZ(标准CPU) 在 2-3GHz 之间的CPU jmeter客户端 最多处理1000-2000个线程,还取决于测试类型

  • 单台机器无法处理大量并发,所以需要:分布式压测

  • 通过远程运行jmeter ,可以在很多低端计算机上复制测试,从而实现更大的负载

分布式是什么?

  • 多台服务器去组成同一个业务的情况

  • 怎么设置?需要注意什么?

    • 主节点和从节点一定要在一个局域网内

    • 有条件的尽量用网线,减少网络带宽的影响

    • 局域网内最好没有太多其他机器(不是必须条件)

    • 所有的防火墙都必须关闭,你的端口一定记得不要被占用

    • 保证你主节点运行的服务器能够ping通其他的从节点服务器

  • 确保所有的jmeter版本是一致的,主节点,从节点用同一个jmeter

  • 插件保持一致, 如果要做数据驱动CSV,一律使用相对路径

  • JDK大版本一定要保持一致  java -version 大版本号要相同

  • Jmeter 不分 windows还是liunx版

主节点(控制端)节点配置

  • 找到jmeter文件夹下的bin目录,找到jmeter.properties

  • 用记事本,或者notepad++打开

  • 找到关键词:remote_hosts (第一次找,配置是被注释掉的,所以,去掉前面的#号)

  • 所有配置文件,修改的时候一定注意:符号一定是英文的,不要有任何空格

  • 配置方式:你准备了几台机器,就写多少个,用英文逗号隔开.

  • 找到关键词: server.rmi.ssl.disable=true

  • 找到关键词 mode=Standard  

一定要注意空格问题,一定要注意英文字符问题

这个是主机配置,协作机不要和它一样!

协作机(从节点)配置:

  • 协作机一般配置在liunx上,windows上也可以配置,因为jmeter再windows和liunx是一样的。不要纠结

  • 协作机jdk和插件,jmeter版本必须要与主机一致,否则有可能访问不同,特别注意!

  • 同样去liunx上找到jmeter下的bin目录,jmeter.properties

  • 如果liunx上没有jmeter的,可以把jmeter打成ZIP包上传到liunx上

  • 用vi命令打开,编辑 从节点只做端口 和SSL配置

  • 找到关键词 server_port (这个port和我们在主节点配置的port一致)

  • 找到关键词 server.rmi.port  也要与你的主节点保持一致

  • 找到关键词 server.rmi.ssl.disable

注意,这几个文件也都是被注释的,自己去找一找

开始分布式测试:

  • 当你部署完毕后,可以直接采用命令执行 ,启动从节点

  • ./jmeter-server

  • 注意:这个命令一定要到jmeter的bin目录下去执行

  • 看到如下字符,就表示启动成功

  • 回到主机,打开jmeter 

  • 如果非要让主节点运行,需要在配置文件中写明 127.0.0.1  ,然后在windows中启动 jmeter-server.bat(不推荐)

  • 分布式测试,不是简单的相加这样的操作 ,实际是 : 主节点设置了3000线程 ,如果我有3台从节点去测试。一般是按情况会平均分配过去的!也就是说 一台从节点 1000左右的线程!

  • 每个执行节点,只处理主节点分配过去的线程数.

  • 高级用法-- 用 -J参数来传递属性 控制数量

  • jmeter -n -t xx.jmx -l results.jtl -JnumThreads=1000 -JnumThreads=2000

  • 这种强行分配,就会引发一个问题,图表这些东西无法看到了。 这种情况下,我们需要有另外的监控体系来处理!

0

评论区