zoukankan      html  css  js  c++  java
  • Jmeter分布式测试

    1.背景 

       由于Jmeter本身瓶颈,当需要模拟数以千计的并发用户数时,使用单台机器模拟所有并发用户有些力不从心,甚至还会引起Java内存溢出错误,要解决这个问题,可以使用分布式测试,运行多台机器运行Agent来分担Jmeter自身压力,以此获取更大的并发用户数。

    2.分布式执行原理

    2.1 Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。

    2.2 执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。
    2.3 执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。
     
    3.操作步骤
    3.1 代理配置(agent)
    3.1.1Agent机上需要安装JDK、Jmeter,并且配置好环境变量。
    3.2.2打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.149
    3.3.3打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,1099是端口号,可以随意自定义。

    3.4.4打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。

    3.2控制机(Controller)配置

    3.2.1Controller机上需要安装JDK、Jmeter,并且配置好环境变量。

    3.2.2打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.174

    3.2.3打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。

    3.2.4打开jmeter-server.bat文件,设置完成了。

    4 开始添加线程组和请求来运行查看结果

    4.1打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。

    4.2 打开controller,启这动代理,可以全部启动,也可以选中某个代理启动

    4.3 这里以点击远程全部启动为例。运行结束后,查看聚合报告,每台电脑设置的线程数为200,这里一共是两台电脑,所以是200*2=400个线程数。

    5.常见问题

    5.1确定在controller机器上安装jdk版本和jmeter一致

    5.2jmeter分布式控制过程中,各个agent启动的线程数等于线程组中的配置

     
  • 相关阅读:
    js项目练习第二课
    js项目练习第一课
    进度条
    js基础
    反射
    递归函数与三级菜单
    mybatis 动态SQL
    java 面对对象(抽象 继承 接口 多态)
    java Eclipse debug技巧
    mybatis 调用存储过程
  • 原文地址:https://www.cnblogs.com/fgjl/p/10935740.html
Copyright © 2011-2022 走看看