zoukankan      html  css  js  c++  java
  • 【Jmeter】分布式并发测试

    一、前提:

      1、最近在做一下压测,但是单台服务器的CPU,内存可能不够支撑压测的项目,这时候,我们可以使用Jmeter分布式压测。

      2、本次使用的环境:

    • 1台服务器做master(调度器)
    • 5台服务器做slave (执行器)

    二、原理

      1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)可以理解成压力机。

      2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,启动jmeter-server.bat(windows)

        或者sh jmeter-server.sh

      

     三、步骤

    3.1前提:

    1. 保证几台服务器用的统一版本的jmeter
    2. 保证在同一个局域网(可以ping同)
    3. 报错或者,conncetion timed(关闭防火墙)

    3.2 slave (压力机)配置,这边以服务器windows

    1. 打开jmeter->bin->jmeter.properties 找到server.port 去掉注解,开启1099远程端口,端口号可以自己配置的,默认1099

       2.保存jmeter.properties

       3.启动jmeter-server.bat (windows)下面

       4.有几台压力机,就同样配置一下,启动server即可

    3.3 控制机器的配置

    1. 打开jmeter->bin->jmeter.properties 找到remote_hosts,吧压机机的ip加上去,中间用,隔开,如果自定义端口,加上端口号,默认是1099端口号;

       2.保存,并且启动jmeter.bat(也可以命令行执行,减少CPU,内存消耗)

    四、压测

    1. 准备好压测脚本,我这边场景是同时并发10000个线程,测试nginx的承受能力;
    2. 运行-远程全部启动-同时并发5台slave机器,右上角有并发数,绿色的时候是启动的状态;

    五、补充

    1. 第一次搞得时候,很多不是同一网段,出现一些常出现的错误
    2. 例如出现以下以下错误的时候,首先要检查是否在同一个网段里面,jmeter是否是同一个版本,然后防火墙是否关闭了,最后端口号是否正确
    3. 分布式并发的时候之前用5.0的版本总是报错,个人觉得可能是版本号太高的原因,适当的降低下jmeter版本号

     

      

  • 相关阅读:
    使用SHA256WithRSA来签名和验签(.NET/C#)
    对2个hex(16进制)字符串进行异或操作
    Java DESede 加解密("DESede/ECB/PKCS5Padding")
    获取公钥证书的DN(Distinguished Name)
    Java DES 加解密("DES/EBC/NoPadding")
    Porting .Net RSA xml keys to Java
    Linux使用Shell脚本实现ftp的自动上传下载
    Lombok 安装、入门
    一段对16进制字符串进行异或的代码
    一个封装的使用Apache HttpClient进行Http请求(GET、POST、PUT等)的类。
  • 原文地址:https://www.cnblogs.com/totoro-cat/p/9856783.html
Copyright © 2011-2022 走看看