zoukankan      html  css  js  c++  java
  • Jmeter压力测试环境准备

    Jmeter性能监控

    1. 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standard-1.1.3.zip ServerAgent-2.2.1.zip
    2. Standard的zip包解压缩之后,将JMeterPlugins-Standard.jar 放在XXXApachejmeterlibext下,重启jmeter就可以看到在 线程组右键的监听器中可以看到增加了很多内容,在现有的项目中增加jp@gc - PerfMon Metrics Collector,作为监控服务器端的数据。
    3. 增加了jp@gc - PerfMon Metrics Collector之后,在其中Add Row,增加需要监控的数据信息,比如Cpu,Memory,Disks/IO,TCP等之类的信息,端口默认为4444。
    4. 服务器端配置,解压缩ServerAgent.zip包,放到服务器上:
    • Linux:CD命令到该文件夹下,输入命令./XXXXXX/startAgent.sh。注意,如果客户端配置的不是4444端口,则需要启动客户端设置的端口,命令为./startAgent.sh --udp-port 0 --tcp-port Xxxx,当然Xxxx为设定好的端口号。
    • Windows:,双击startAgent.bat即可,启动的是默认端口4444.

      5. 在测试机器上,点击启动就可以开始接口的测试和压力测试工作了,在选择的jp@gc - PerfMon Metrics Collector可以看到来自服务器的性能信息。

    Jmeter分布式部署

    使用多台机器产生负载的操作步骤如下:

    1. 在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。
    2. 在controller机器的jmeter的%JMeter_home%/bin目录下,找到jmeter.properties 文件,编辑该文件:

         查找:remote_hosts=127.0.0.1,修改为:remote_hosts=10.8.39.114:1099,10.8.33.181:1099,localhost:1099

      这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

      3. 运行所有 agent 机器上的jmeter-server 文件

        4. 启动controller 机子上的jmeter应用jmeter.bat,选择菜单“Run”--->“Remote Start”(“运行”--->“远程启动”),来分别启动agent ,也可以直接选择“Remote Start All”(“远程全部启动”)来将所有的agent启动。当

    远程访问时,会看到控制台上打印出一行:Starting the test on host [ip]:1099 @....,远程执行结束,会打印一行:Finished the test on host [ip]:1099 @...。


    需要注意的点:

    1)Jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置,不是均分线程组中的配置,每个Agent所单独测试的线程数都是你在Controller上配置的线程数,也就是说我在controller上的线程数为100,立即

    执行,循环一次,那么我的部署就会有同事触发300(100X3)的线程数,立即执行,执行一次。而不是三台机器共同分担100个线程。


    2)在contrller机器上想要运行agent的时候,需要先执行jmeter-server 文件,再执行jmeter.bat


    3)配置的时候保证机器的防火墙都处于关闭状态。

    参考资料:

    性能监控插件:
    http://www.tuicool.com/articles/RbAN3ea
    性能监控介绍:
    http://blog.csdn.net/defonds/article/details/41650813

  • 相关阅读:
    怎么导出SQL所有用户表的字段信息
    全面掌握C#中的拖放操作
    C#中使用Hook(钩子)
    如何在winform程序中显示网页
    设置socket.Receive()的等待时延
    局域网QQ(C#版)
    C#实现系统热键的功能
    使用C#在应用程序间发送消息
    某某人整理的c#.net函数列表
    C#串口通信编程类(修改版)
  • 原文地址:https://www.cnblogs.com/leeboke/p/6050186.html
Copyright © 2011-2022 走看看