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

    今天给大家介绍一下分布式,为什么要介绍分布式呢, 因为我们会进行压测,如果压测当中要有大批量的用户并发, 我们可能要进行分布式压测,由于资源有限, 我今天就介绍一下伪分布式,便于那些刚开始学习的童鞋练习起来方便。好了,废话不多说,直接进去整体:

    要有多台机器, 其中一台作为控制机,即controller,另外几台是代理服务器(server-agent),这边我就复制两台代理服务器,这边的原理就是,控制机分发任务给代理服务器,代理服务器接受任务,反馈结果给控制机(controller)

    1. 复制出三个Jmeter 文件,两台作为代理服务器,一台作为控制机

    2. 在两台代理服务器的Jmeter文件中找到Jmeter.properties文本中修改端口号分别为 server_port=3333,,4444

    3.修改一下控制机的remote_hosts=127.0.0.1:3333,127.0.0.1:4444,好了然后去run 控制机(点击运> 远程启动所有),在run控制机之前先启动一下两台代理服务器的 jmeter-server.bat

    run控制机的时候可能会遇到一些error,如:

    Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:java.io.FileNotFoundException: rmi_keystore.jks,或者 Exception creating connection to: 127.0.0.1; nested exception is:
    java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)

    解决方案:修改 jmeter.properties 的文件 server.rmi.ssl.disable=false,改为true,并把前面的#去掉

    控制机先新建脚本,然后下发给代理服务器,举个例子,打开百度首页,然后代理服务器各自分发500个用户(在控制机上面设置线程组500),在添加聚合报告查看结果,远程启动所有之后,看到聚合报告中会有1000个样本,就执行成功了,注意千万别点击绿色的那个箭头run,要点击运行>远程启动所有

    好了上面是伪分布式的执行步骤。

    真正在工作中实操的时候就不能直接复制3个Jmeter文件了,但是原理是一样的,只是两台代理服务器不需要改端口号了

           1、在负载机( Load Generator)上 安装 JMeter,并确定其中一台机器作为 控制机,其他的机器作为 代理服务器——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 代理服务器;
      2、在控制机JMeter 安装目录下找到 bin 目录,再找到 JMeter.properties 这个文件
      3、在JMeter.properties 这个文件中找到“remote_hosts=”,你可以找到这样一行“remote_hosts=127.0.0.1”。其 中的 127.0..0.1 表示运行 JMeter Agent 的机器,改为“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099 为 JMeter 的 控制机 和 代理服务器之间进行通讯的默认的 端口号,只改要作为控制机的机器上的此文件即可,改好之后要重启Jmeter,否则不会生效。
      4、保存文件,依次启动jmeter-server.bat为代理服务器(其实就是执行机,执行机不需要界面操作,写脚本之类的,所以直接命令行形式的,双击jmeter-server.bat),然后进入控制机进入 Run -> Remote Start 菜单项,在这里可以看到远程启动菜单下面有192.168.0.1 ,192.168.0.1两个IP地址
      5、然后点击Run 菜单下的“远程运行全部”菜单,后者单个执行

    It's over

    欢迎大家提问题,如有不对的地方!!!

  • 相关阅读:
    JS高阶---继承模式(原型链继承)
    一切皆数据,人生需学习
    操作系统升级
    看了跨年演讲后
    新的开始
    怎么做一名高薪前端工程师,必备哪些技术工具?
    web服务器 Nginx
    实用的软件架构方法
    购买网络自动化工具时应考虑的7个方面
    ES6 展开操作符的几个妙用
  • 原文地址:https://www.cnblogs.com/cyit/p/12734664.html
Copyright © 2011-2022 走看看