zoukankan      html  css  js  c++  java
  • Jmeter的运行原理

    LoadRunner可以选择是以进程方式还是以线程方式来运行,在jmeter中我们是以县城方式来运行的。由于jmeter是运行在JVM上的,每个进程的开销比loadRunner的进程开销要打,如果以进程的方式来运行的话,每台负载机上的进程数就不会允许太多,当我们需要大量并发时就需要大量的负载机,这显然是不经济的,再者java也是支持多线程的,所以Jmeter选择了以线程方式来运行。

    jmeter通过线程组来驱动多个线程(类似loadrunner中的虚拟用户)运行测试脚本对被测服务器发起负载,每一个负载机(一个虚拟机可以算作一个负载机)上都可以运行多个线程组。如下图所示的测试计划中就有两个线程组。jmeter运行场景不仅可以在gui方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。

    1.控制机:运用多台Jmeter负载机进行性能测试时,被选中作为管理机的那台机器就是控制机。jmter控制机也可以参与脚本的运行,同时他也担负着管理远程负载机指挥远程负载机运行的任务,并且手机远程负载机的测试结果。

    2.负载机:向被测试应用服务发起负载的机器,控制机同时也是一台负载机。jmeter负载机受控制机管理。与其他支持远程运行的测试工具一样,负载机受控制机管理首先要启动一个客户端程序(agent:jmeter-server.bat),这样控制机才可以接管负载机。控制机会把运行的脚本隐蔽地发到远程负载机,但是如果运行测试脚本有参数文件以及依赖的jar包是,控制机并不能把他们发送到远程负载机,这种情况就需要手动拷贝了,当然在利用jmeter做性能测试自动化时不能这样,我们可以用工具来自动拷贝。

    3.远程运行逻辑

    远程负载机首先启动agent程序,等待控制机连接

    控制机连接上远程负载机

    控制机发送指令(脚本及启动命令)启动线程

    负载机运行脚本,回传状态(包括测试结果)

    控制机收集结果并显示

  • 相关阅读:
    3.30作业
    3.30课堂
    3.29作业
    3,29课堂
    3。26作业
    3.26课堂
    3.25作业
    3.25课堂
    55、DOM与BOM的操作及事件的简介
    54、js的数据类型及对象
  • 原文地址:https://www.cnblogs.com/phantom0308/p/9950341.html
Copyright © 2011-2022 走看看