【转】Jmeter应用评估

Jmeter应用评估

发布时间: 2008-9-03 16:17    作者: 未知    来源: 网络转载

字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推荐标签: 性能测试工具 Jmeter

  综述:

  在客户端程序上,与LR相比,jmeter只有一个主程序,脚本设计、场景设计、运行监视、报告结果均在一起完成,没有独立的调试器,所以脚本实际上跟场景是一体的;

  在概念上,jmeter的测试计划可以对应LR的测试场景,而线程组可以对LR的测试脚本,与LR不同的是,jmeter的线程组既可以设置各自的并发用户数,也可以设置各自的运行时间;jmeter使用各种取样器作为请求的发生器,比如我们会经常用到的“HTTP请求”取样器,可以对应到LR的请求函数“web_url”(get)“web_submit_data”(post);使用逻辑控制器来实现“if”“swith”“for each”“while”来实现逻辑语法;定时器可以实现think time;报表中的Throughput对应LR中的TPS,KB/sec对应LR中的Throughput,这一点可能容易混淆。

  在结构上,jmeter使用各种元件组成脚本,代码为树形结构(.jmx脚本为xml格式)。

  在功能上,jmeter没有独立的调试器,必须运行来进行脚本的调试;没有目标场景,但从用户手册的说明上来看,应该可以通过元件组合实现目标场景;只有针对响应时间的统计图形展现,没有针对事务数的统计图形展现;资源监视模块只针对tomcat(5以上),解析tomcat的status返回的xml来实现,没有Linux资源监控。

  脚本功能:

  利用代理服务器截取协议包方式,脚本形式为xml,解析执行,没有单独的调试器。代理服务器可以生成“HTTP请求”取样器脚本以及定时器。

  Jmeter脚本由各种jmeter元件组成。这些元件有:取样器、配置元件、定时器、逻辑控制器、前置处理器、后置处理器、断言、报告。

  取样器:生成压力的元件,如产生http请求、ftp请求等

  配置元件:与脚本中的配置有关,如用户变量、cookies设置、http头设置等

  定时器:产生延时(think time)

  逻辑控制器:对代码做逻辑控制,如if条件判断、for循环等

  前置处理器:取样器操作前的处理,如用户参数、URL rewrite等

  后置处理器:取样器操作后的处理,如提取响应信息(关联数据)等

  断言:即检查点,支持正则

  报告:结果展现,如响应数据、服务器监控数据等

  参数化文件:两种读取方式——CSV Data Set Config元件和函数:

  CSV Data Set Config元件提供比较丰富的参数设置:编码方式、分隔符、循环使用、共享模式;这里有一个注意点:“Allow quote data”选项选为“true”的时候对全角字符的处理出现乱码。利用设置共享模式可以实现在LR中的“Sequential”和“Unique”,对应选项为:“Sequential”用“Current thread”;“Unique”用“Current thread group”(当前的线程组内)或“All treads”(所有的线程组中)。

  “StringFromFile”和“CSVRead”函数也可以实现读取参数化文件,“StringFromFile”的方式类似于“Unique”,而“CSVRead”很特别,是每个线程只读取一行作为参数,无论循环多少次,各个线程依次读取。

  其它参数化,函数实现:

  1. 使用线程名作为参数:“threadNum”函数,返回格式为“线程组名称+空格+线程组编号+横线+线程编号”;

  2. 使用机器名作为参数:“machineName”函数;

  3. 使用时间作为参数:“time”函数;

  4.使用随机数作为参数:“Random”函数

  检查点:jmeter提供的断言种类很丰富,支持正则表达式的多种匹配规则。

  压力产生的元件是取样器,其中最常用的是“HTTP请求”。利用逻辑控制器元件可以实现条件判断、循环等算法。

  另外jmeter提供了后置处理器元件建立关联,常用的是“正则表达式提取器”元件,提取响应返回的数据产生关联数据,进行后续处理或用于后面的请求。

  场景设置:

  没有目标场景

  线程组可理解为LR Controller中的单个脚本,多个线程组就是多个脚本,可以通过禁用/启用操作来控制执行的线程组。

  可以设置逐步增加压力,也可以设置一次性加压。

  设置集合点:通过“Synchronizing Timer”这个定时器,可以设置多少个并发用户集合到一起。

  监控资源:使用“监视器结果”来监控,但目前只支持tomcat(5以上);原理:该功能是通过解析tomcat的管理status返回的xml实现的;监控得到的结果是负载、内存、线程。

  可以通过逻辑控制器,以及不同的配置原件来模拟不同的业务场景

时间: 2024-10-07 15:42:35

【转】Jmeter应用评估的相关文章

使用Jprofiler+jmeter进行JVM性能调优

一.JProfiler简介 JProfiler 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的.它把CPU.执行绪和内存的剖析组合在一个强大的应用中.JProfiler可提供许多IDE整合和应用服务器整合用途.JProfiler的是一个独立的应用程序,但其提供Eclipse和IntelliJ等IDE的插件.它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突.JProfiler直觉式的GUI让你可以找到性能瓶颈.抓

jmeter 逻辑控制器

简单的控制器 简单的逻辑控制器可以让你组织你的采样器和其他 逻辑控制器. 不像其他逻辑控制器,该控制器不提供除此之外的功能 存储设备. 控制面板简单的控制器的截图 参数 在这个例子中,我们创建了一个测试计划,发送两个蚂蚁和两个HTTP请求 Log4J HTTP请求. 我们分组蚂蚁和Log4J请求安置在里面 简单的逻辑控制器. 记住,简单的逻辑控制器如何JMeter没有影响 流程控制器(s)添加到它. 所以,在这个例子中,JMeter发送的请求 以下订单:Ant主页,Ant新闻页面,Log4J主页

Jmeter压力测试(简单的http请求)-实例

服务端系分提供的某接口样例为: 评估后可采用使用jmeter进行压力测试的步骤为: 启动jmeter:在bin下点击jmeter.bat,运行jmeter 2. 创建测试计划: 默认启动jmeter时会加载一个测试技术模板 3. 保存测试计划:修改名称为http_demo,点击保存,选择保存路径 4. 添加线程组 右键左边树中的测试计划"http_demo"节点,"添 加"--->"线程组",添加一"线程组" 添加成功后

《零成本实现Web性能测试:基于Apache JMeter》读书笔记

1.性能测试概念 性能测试目的: 评估系统能力,验证系统是否符合预期性能指标 识别系统中的弱点 系统调优,改进系统性能 检测长时间运行可能发生的问题,揭示隐含问题 验证稳定性.可靠性 常见性能指标 B/S架构(h5页面属于B/S架构):一般关注web服务器性能指标 平均每秒钟响应次数=总请求次数/秒数 平均每秒业务脚本迭代次数 成功的请求 失败的请求 成功的点击次数 失败的点击次数 每秒点击次数 每秒成功的点击次数 每秒失败的点击次数 尝试连接数 吞吐量 C/S架构(native属于C/S架构)

【后台测试】Linux下小试jmeter

◆版权声明:本文出自胖喵~的博客,转载必须注明出处.  转载请注明出处:http://www.cnblogs.com/by-dream/p/5784288.html 前言 上一篇主要讲了在Windows系统下如何使用JMeter来进行压力测试,然而发现一些问题,当qps到达一定的峰值的时候,由于Windows机器本身的瓶颈导致了网卡可能被挤爆的情况,另外压正式环境的时候,开发希望针对IP来压测,只压一台机器,然后评估整个机群的性能,因此我就尝试了在linux下如果压测. 过程 同样还是使用上次的

使用JMeter进行负载测试——终极指南

这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 JMeter的实现方式以及采用的技术 安装与配置 介绍用户界面的基本特征 详细介绍不同的测试计划的配置方法 如何分析结果数据 涉及几个重要的最佳实践 所有的例子都是基于Java 8 update 0.20,Eclipse Luna 4.4, JMeter 2.11, MySQL Community Server 5.6.21的开发环境.那

jmeter(九)逻辑控制器简介及使用方向

之前的博客中有介绍到jmeter中元件的作用域,其中逻辑控制器(Logic Controllers)的作用域只对其子节点的sampler有效,而逻辑控制器的作用是控制采样器的执行顺序. jmeter提供了17种逻辑控制器,它们各个功能都不尽相同,大概可以分为2种使用类型: ①.控制测试计划执行过程中节点的逻辑执行顺序,如:Loop Controller(循环控制器).If Controller(如果if控制器)等: ②.对测试计划中的脚本进行分组,方便JMeter统计执行结果以及进行脚本的运行时

Jmeter if控制器的使用 - 真正实现3:2的业务

一.业务分析: 两种支付方式:1.银联刷卡支付(线下支付).2.微信扫码支付(线上支付),按照公司目前的交易订单来源,银联刷卡支付:微信扫码支付=3:2,所以在执行性能测试的时候,需要按照3:2的比例来测试,也就是说10条订单,6条是刷卡支付,4条是扫码支付. 二.if控制器元件: 在jmeter工具执行性能测试时,可以用if控制器元件来实现,在条件中,添加上判断代码,判断代码是针对if控制器之下的每一个可运行测试元件单独评估的,要求所有的请求都要发到该控制器下,判断语句才能生效,如果是同级的元

jmeter场景设计

场景设计是根据收集分析用户的实际操作而定义的Jmeter脚本的执行策略. 性能测试中涉及的基本场景有两种, 即单一业务场景和混合业务场景,这 两种业务场景缺一不可,缺少任何一种都不能准确评估系统性能,定位系统瓶 颈.如果只做单一业务场景,得到的结果与实际生产环境差距较大,没有实际 指导意义:如果只做混合业务场景, 不能快速定位系统性能快速降低的原因, 起不到定位瓶颈.系统调优的作用.只有两种场景互为补充,才可以获取 最符 合客户要求的测试结果. 在Jmeter场景主要通过线程组设置来完成.通过组