一:分布式原理
准备多台相同局域网的Linux服务器,一台做为Master(调度机)-发送脚本、收集压测结果,其它的做为
Slave(压测机)-生成压力模拟用户向服务器发送请求,并把结果传给Master。
二.搭建环境
1)Master(调度机)和Slave(压测机)分别上传jmeter工具,上传成功后jmeter/bin目录下执行chmod +x ./* (对所有文件进行赋权,是指可以在linux下运行)
2)Master(调度机)和Slave(压测机)分别进入jmeter中bin目录,修改jmeter.properties,remote_hosts=调度机IP:1099,压测机IP:1099,…并保存,本次压测是2台Slave机器;(server_port默认是1099,也可以根据实际情况修改);修改jmeter.properties,server.rmi.ssl.disable=true,httpclient.timeout=1000,并保存;
3)俩台机器分别运行./jmeter-server
4)Master(调度机)重新开启一个窗口,bin目录下执行命令
./jmeter.sh -n -t X.jmx -r -l /保存文件路径/XXXX.jtl (注:-r是执行全部俩台机器)

[root@VM-333-22-centos bin]# ./jmeter.sh -n -t xxx.jmx -r -l /jmeter/xxx.jtl
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/jmeter/apache-jmeter-5.1.1/lib/log4j-slf4j-impl-2.11.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/jmeter/apache-jmeter-5.1.1/lib/ext/jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Creating summariser <summary>
Created the tree successfully using xxx.jmx
Configuring remote engine: xx.x.xxx.xx:1099
Configuring remote engine: xx.x.xxx.xx:1099
Starting remote engines
Starting the test @ Mon May 09 16:01:04 CST 2022 (1652083264324)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Tidying up remote @ Mon May 09 16:01:09 CST 2022 (1652083269532)


说明调用成功了

搭建环境过程中遇到的问题及解决办法:
1)启动./jmeter-server返回:[JMeter]…java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address xxxxxx
解决办法:
编辑jmeter-server文件,设置固定的代理服务器主机IP
打开Linux中的jmeter-server:

cd /opt/apache-jmeter-4.0/bin
vi jmeter-server
编辑jmeter-server,取消RMI_HOST_DEF的注释项,固定设置当前Linux主机查询到的IP:
# One way to fix this is to define RMI_HOST_DEF below
RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.248.130(当前机器ip)


保存后直接以命令 jmeter-server 或 ./jmeter-server 启动

2)调度机和压测机均启动./jmeter-server后,执行命令报错
Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:[xx.xx.xxx.xxx:1099]

解决方法:关闭压力机防火墙,命令:service iptables stop,然后service iptables status查看是否关闭成功(重启防火墙:service iptables start)
关闭防火墙后重新调用即可,如还不成,查询是否开启问题机器1099是否开启或被占用
查看端口号
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 1099 //查看所有1099端口使用情况·
开发端口命令:
命令一:firewall-cmd --zone=public --add-port=1099/tcp --permanent
命令二:nc -lp 1099 &(打开1099端口,即telnet),netstat -an | grep 1099 (查看是否打开1099端口)

Linux环境下搭建jmeter分布式压测相关推荐

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

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

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

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

  3. Jmeter分布式压测-windows(master控制机)多个linux(slaves负载机)监测服务器资源(cpu、内存等)

    为什么进行jmeter分布式压测? 一.干货解释原因: **原因一:**一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿.无响应等情况,这是受限于 ...

  4. 【JMeter】Jmeter分布式压测教程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.原理 二.环境搭建 2.1 环境准备 2.2 slave机器配置 2.3 master机器配置 三.脚本及执行 3.1 ...

  5. Jmeter 分布式压测

    一.jmeter分布式压测使用场景 1.当一台jmeter并发数达到瓶颈时,需要多台jmeter一台控制机,多台负载机来进行分布式压测 扩大并发数 2.当测试多台服务器时,需要同时通过多个ip压测同一 ...

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

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

  7. qt5.9支持linux,Linux环境下搭建Qt5.9开发环境

    在Linux环境下搭建Qt开发环境有两种方式:一种是图形界面的安装,另一种是源代码的安装.下面,分别就这两种安装方式进行说明. 一.图形界面的安装. 1. 在QT官网下载Qt安装包,这里下载最新(20 ...

  8. Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群

    Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...

  9. 如何在linux环境下搭建Tor代理服务器

    如何在linux环境下搭建Tor代理服务器 一.简介 首先, Tor官方提供已不再提供单独的Tor内核下载,只提供集成了Tor内核的Tor-Browser下载.Tor Browser 内置了Tor,f ...

最新文章

  1. LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
  2. Ethernet/IP 学习笔记六
  3. brew 镜像_Docker牛刀小试:安装及常用的镜像命令和容器命令
  4. 读《我们终将逝去的青春》
  5. python 经纬度计算距离公式_SymPy符号计算-让Python帮我们推公式
  6. Yii2.0数据格式器
  7. 在文本框的光标处插入指定的文本(兼容IE6和Firefox)
  8. Selenium 高阶应用之WebDriverWait 和 expected_conditions
  9. visio 2013安装失败正在回滚
  10. 梅兰商城案例代码编写(自己练习,纯手写,最后附有结果图以及精灵图)
  11. OAF: 怎样创建 DFF
  12. android 蓝牙耳机 sco,Android:通过Sco蓝牙耳机播放声音
  13. kml用什么软件打开?
  14. 第六周学习周报20181015-20181021
  15. 监控相机IQ调试策略
  16. Debian安装docker全流程
  17. 面试被骗 :当了一小时讲师,最后反倒说我不合格
  18. 据说程序员写完代码是这个样子,99%的人都中枪了
  19. 专题10:如何应对面试官的拷问—你了解python的装饰器吗?
  20. CPU(Central Processing Unit,中央处理器)

热门文章

  1. 3d2015场景助手_2015年最喜欢的5个3D打印项目
  2. SOLOT的开发日记(二)
  3. 【Excel2019(四):排序与筛选】【简单+复杂+自定义(+高级)】
  4. POJ 3258 River Hopscotch 二分
  5. json序列化反序列化插件-json2.js 介绍和使用
  6. Charles 抓取安卓手机https包(安卓<华为>客户端应用,windows环境)
  7. [Android设计模式之旅]——设计模式的6大原则
  8. 2022.12.14-----leetcode.1697
  9. 时隔1年半的迭代产品,华为移动路由Pro评测:月享2000G流量
  10. 解决Version 3.9.1 with arch x64 not found