zoukankan      html  css  js  c++  java
  • jmeter 分布式压测(windows)

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

     

    jdk和jmeter的下载和安装就不说了

    jmeter 分布式压测原理:

    分布式压测分为两块: 控制器(controller)和代理(agent)

    • controller 负责把脚本分发给 agent执行。
    • agent 负责执行脚本,产生对服务器的实际压力,agent 运行 non GUI model,点击 jmeter-server.bat 即可。agent 执行脚本后,把压测的结果发送给 controller。
    • controller 作为控制器不加入实际测试,只负责发送和收集 agent 信息。

     

    一、配置 agent

    1. 我的jmeter版本是 apache-jmeter-5.0,在 agent 机器上需要修改配置 jmeter.properties,修改以下两处配置:1)找到 server_port 去掉 #,设置端口 。 2)找到server.rmi.ssl.disable=false 改成 true

    # RMI port to be used by the server (must start rmiregistry with same port)
    server_port=1099                  #设置 server_port 端口
    ......
    # Password of Trust store
    #server.rmi.ssl.truststore.password=changeit
    #
    # Set this if you don't want to use SSL for RMI
    server.rmi.ssl.disable=true      # 改成true

    2. 双击 jmeter-server.bat ,这个 ip 有用,待会要配到 controller 机器上的配置文件里(若报错'jmeter' is not recognized,需要配置 jmeter 环境变量)

    二、配置 controller

    1. 打开 controller 的配置文件 jmeter.properties 找到 remote_hosts ,把刚才第二个步骤的 ip 配进去

    2. 打开 controller 的配置文件 jmeter.properties ,找到 server.rmi.ssl.disable=false 改成 true (此处 controller 也需要修改,不然会报错 )

    # Password of Trust store
    #server.rmi.ssl.truststore.password=changeit
    #
    # Set this if you don't want to use SSL for RMI
    server.rmi.ssl.disable=true      # 改成true

     3. 双击 jmeter.bat ,运行一个 agent 

      agent 服务上显示 运行成功

     

    4. 至于有同学反馈,分布式压测时,agent 返回的 response data 在 views Result tree 中查看是空。这个问题取消 jmeter.properties 中 mode=Standard 的注释,然后重启 jmeter controller 即可解决(慎用此开关,经过测试600多的qps就能打满千兆带宽)。

  • 相关阅读:
    Docker
    CTF各种资源:题目、工具、资料
    Android工具集合
    Android相关资源
    命令注入新玩法:巧借环境攻击目标
    分库分表
    数据库读写分离
    Insomni'hack teaser 2019
    Insomni'hack teaser 2019
    35C3 CTF
  • 原文地址:https://www.cnblogs.com/shenh/p/10272229.html
Copyright © 2011-2022 走看看