jmeter使用中最佳实践方法

官方文档(Best Practices-最佳实践部分摘选):https://jmeter.apache.org/usermanual/best-practices.html

一、线程组

Use the correct Number of Threads(使用正确的线程数)

硬件能力以及测试计划设计都将影响使用JMeter有效运行的线程数量,这个数字还取决于服务器的速度(更快的服务器使JMeter工作更努力,因为它返回响应更快),与任何负载测试工具一样,如果不正确地调整线程的数量,您将面临“Coordinated Omission”问题,这会导致错误或不准确的结果。如果需要大规模负载测试,请考虑使用分布式模式(或不使用分布式模式)在多台机器上运行多个非GUI JMeter实例。当使用分布式模式时,结果文件将在Controller节点上组合,如果使用多个自治实例,则示例结果文件可以组合用于后续分析。为了测试jmeter在给定的平台表现如何,可以使用JavaTest取取器,它不需要任何网络访问,因此可以给出关于可达到的最大吞吐量的一些想法。

JMeter有一个选项可以延迟线程创建,直到线程开始采样,即在任何线程组延迟和线程本身的ramp-up time之后。这允许一个非常大的线程总数,前提是没有太多同时活动的线程。

------来自官方文档:https://jmeter.apache.org/usermanual/best-practices.html

每个线程均独立运行测试计划。因此, 线程组常用来模拟并发用户访问。假如客户机没有足够的能力来模拟较重的负载,可以使用Jmeter的分布式测试功能来通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试。

在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】

二、避免人为的压测服务器资源浪费

Reducing resource requirements(减少资源需求)

关于减少资源使用的一些建议:

  • 使用非GUI模式:jmeter -n -t test.jmx -l test.jtl
  • 使用尽可能少的Listeners; 如果使用上面的-l选项,可以删除或禁用它们。
  • 在加载测试期间,请勿使用"View Results Tree" 或者"View Results in Table" 侦听器,仅在脚本编写阶段使用它们来调试脚本。
  • 在循环中使用相同的采样器,而不是使用大量类似的采样器,并使用变量(CSV数据集)来改变样本。[Include Controller在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]
  • 不要使用functional模式
  • 使用CSV输出而不是XML
  • 仅保存您需要的数据
  • 使用尽可能少的断言
  • 使用性能最佳的脚本语言(参见JSR223部分)

如果您的测试需要大量数据 - 特别是如果需要随机化 - 请在可以使用CSV数据集读取的文件中创建测试数据。这可以避免在运行时浪费资源

三、开发脚本函数(TODO)

等实践后更新

原文地址:https://www.cnblogs.com/yy-cola/p/9669603.html

时间: 2024-10-12 22:05:33

jmeter使用中最佳实践方法的相关文章

jmeter之最佳实践

官方文档: http://jmeter.apache.org/usermanual/best-practices.html 翻译: 16.最佳实践 16.1 始终使用最新版本的JMeter JMeter的性能正在不断提高,因此强烈建议用户使用最新版本.确保始终阅读更改列表以了解新的改进和组件.一定要避免使用与最新版本相差3个版本以上的版本. 16.2 使用正确的线程数 您的硬件功能以及测试计划设计都会影响您可以使用JMeter有效运行的线程数.这个数字还取决于服务器的速度(更快的服务器使JMet

【译】JavaScript 创建对象: 方法一览与最佳实践

本文是我在众成翻译上认领并翻译的:JavaScript 创建对象: 方法一览与最佳实践 在JavaScript中“创建对象”是一个复杂的话题.这门语言提供了很多种创建对象的方式,不论新手还是老手都可能对此感到无所适从,不知道应该选择哪一种.不过,尽管创建对象的方法很多,看上去语法差异也很大,但实际上它们的相似性可能比你所以为的要多.本文将带领你踏上一段梳理对象创建方法的旅程,为你揭示不同方法之间的依赖与递进关系. 对象字面量 我们的第一站毫无疑问就是创建对象最简单的方法,对象字面量.JavaSc

Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全

Atitit. 软件设计 模式 变量 方法 命名最佳实践 vp820 attilax总结命名表大全 1. #====提升抽象层次 1 2. #----使用通用单词 1 3. #===使用术语.. 1 4. #===使用缩写 2 5. #====自己最孰的语言(diaglog??) 2 6.  2 7. #====normal naming + anno 2 8. #----jsp页面的名称,最好不个mod_list.jsp 2 9. 名词优先与动词 2 10. 变量的常用前缀 2 11. 常用命

大数据管理:数据集成的技术、方法与最佳实践 读书笔记三

7.1 什么是数据仓库 数据仓库是基于特定的数据结构(以及有关应用程序)所构建的数据的中央存储库,以便为分析和报表提供 一致的数据源.面向整个组织创建的企业数据仓库(Enterprise Data Warehouse,EDW)用于对整个组织的信息 进行分析.大多数情况下,超大型组织中会有多个企业级数据仓库,每个都拥有组织中某个很大组成部分的数 据,如某个区域,或者很大的功能域.批处理数据集成方案通常用于将数据置入或者移出数据仓库.数据仓库架 构的设计要达到以下目的:为整个组织的分析提供一致可用的

数据湖是一种方法 数据湖的四个最佳实践

转载自:http://bigdata.chinabyte.com/311/13871811.shtml 数据湖听起来很简单:把数据或信息汇集到一个结合处理速度和存储空间的大数据系统――Hadoop集群或内存解决方案,那样业务部门就能访问数据,获取新的洞察力.不过,与IT行业的许多技术一样,现实比梦想困难得多. Pentaho公司的创始人兼首席技术官詹姆斯·狄克逊(James Dixon)发明了这个术语,他表示,其中一方面是由于对数据湖应该是什么存在着误解.他从来就没有打算用数据湖来描述从所有企业

京东前端:PhantomJS 和NodeJS在网站前端监控平台的最佳实践

1. 为什么需要一个前端监控系统 通常在一个大型的 Web 项目中有很多监控系统,比如后端的服务 API 监控,接口存活.调用.延迟等监控,这些一般都用来监控后台接口数据层面的信息.而且对于大型网站系统来说,从后端服务到前台展示会有很多层:内网 VIP.CDN 等. 但是这些监控并不能准确地反应用户看到的前端页面状态,比如:页面第三方系统数据调用失败,模块加载异常,数据不正确,空白开天窗等. 相关厂商内容 Native动态化最新技术解析 不可错过的智能时代的大前端 性能优化最佳实践经验谈 百度技

atitit.设计模式(1)--—职责链模式(chain of responsibility)最佳实践O7 日期转换

atitit.设计模式(1)---职责链模式(chain of responsibility)最佳实践O7 日期转换 1. 需求:::日期转换 1 2. 可以选择的模式: 表格模式,责任链模式 1 3. 调用代码 2 4. 责任链链的特性: 2 5. 模式结构 4 6. 职责链模式包含如下角色:Handler,ConcreteHandler: 具体处理者,HandlerChainUtil ,Client 4 7. 设置哈一个handler,,两个法:排序法,指定法 5 1. 指定法 5 2. 排

基于AngularJS的前端云组件最佳实践

AngularJS是google设计和开发的一套前端开发框架,他能帮助开发人员更便捷地进行前端开发.AngularJS是为了克服HTML在构建应用上的不足而设计的,它非常全面且简单易学习,因此AngularJS快速的成为了javascript的主流框架. 一.Amazing的Angular AnguarJS的特性 方便的REST: RESTful逐渐成为了一种标准的服务器和客户端沟通的方式.你只需使用一行javascript代码,就可以快速的从服务器端得到数据.AugularJS将这些变成了JS

SpringMVC源码分析和一些常用最佳实践

前言 本文分两部分,第一部分剖析SpringMVC的源代码,看看一个请求响应是如何处理,第二部分主要介绍一些使用中的最佳实践,这些best practices有些比较common,有些比较tricky,旨在展示一个框架的活力以及一些能在日常项目中能够应用的技巧,这些技巧的线索都可以在 第一部分的代码剖析中找到,所以读读源代码对于使用好任何框架都是非常有帮助的,正所谓“知其然,还要知其所以然”. 另外,本文中所涉及的Spring版本是3.1.2RELEASE. Part 1. SpringMVC请