jmeter使用中最佳实践方法

yy-cola yy-cola     2023-01-01     617

关键词:

官方文档(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)

     等实践后更新

jmeter十四:最佳实践

参考:http://jmeter.apache.org/usermanual/best-practices.html1.总是使用最新版本的JMeter2.使用合适数目的ThreadThread数目取决于:硬件环境、TestPlan的设计、以及服务器的运行速度。不合适数目的Thread,可能会造成测试结果不正确或者不精确... 查看详情

在 .Net 中使用扩展方法的最佳实践是啥?

】在.Net中使用扩展方法的最佳实践是啥?【英文标题】:WhatarethebestpracticesforusingExtensionMethodsin.Net?在.Net中使用扩展方法的最佳实践是什么?【发布时间】:2010-09-0509:54:18【问题描述】:我已经看到这些被以各种方式使用,并被... 查看详情

使用视图模型中的属性值实现方法的最佳实践是啥?

】使用视图模型中的属性值实现方法的最佳实践是啥?【英文标题】:WhatisthebestpracticetoimplementmethodsusingvaluesofpropertiesintheViewModel?使用视图模型中的属性值实现方法的最佳实践是什么?【发布时间】:2021-10-0910:28:17【问题描述】... 查看详情

Vue子组件中调用方法的最佳实践

...章,似乎有多种方法可以做到这一点,许多作者建议不要使用某些实现。为了简单起见,我创建了一个我想要实现的非常简单的版本。我有一个父级Vue,parent.vue。它有一个按钮:<template> 查看详情

将 Django 模型中的保存方法覆盖为使用 celery 异步的最佳实践

】将Django模型中的保存方法覆盖为使用celery异步的最佳实践【英文标题】:bestpracticetooverridesavingmethodindjangomodeltobeasyncusingcelery【发布时间】:2014-03-2014:06:14【问题描述】:我正在构建一个云系统,我有两个应用程序,包含完整... 查看详情

在 UITableViewCell 中使用 UIImages 的最佳实践

】在UITableViewCell中使用UIImages的最佳实践【英文标题】:BestpracticetouseUIImagesinsideaUITableViewCell【发布时间】:2011-06-1510:47:27【问题描述】:如果我将手机中的图像加载到大约50-60个条目的TableView中,哪种方法最适合?[UIImageimageNamed... 查看详情

哈希密码的最佳实践

...rds【发布时间】:2013-12-0918:46:53【问题描述】:我想知道使用哪种方法将密码存储在数据库中。我已经使用MD5实现了它,但根据一些帖子SHA1更安全。还有其他更安全的方法吗?请帮我找出保护密码的最佳方法。【问题讨论】:**... 查看详情

在 Django 后端使用 Angular JS 路由的最佳实践方法是啥?

】在Django后端使用AngularJS路由的最佳实践方法是啥?【英文标题】:WhatisthebestpracticemethodofusingAngularJSroutingwithaDjangobackend?在Django后端使用AngularJS路由的最佳实践方法是什么?【发布时间】:2015-03-2018:39:13【问题描述】:我在Django... 查看详情

ActionMailer 最佳实践:在模型或控制器中调用方法?

...哪些问题来确定将操作邮件方法调用放在哪里。我见过/使用过它们:在模型方法中 查看详情

angular中订阅方法的最佳实践是啥?

】angular中订阅方法的最佳实践是啥?【英文标题】:Whatisthebestpracticeforsubscribemethodinangular?angular中订阅方法的最佳实践是什么?【发布时间】:2022-01-0102:42:05【问题描述】:我只是想知道哪个是Angular的最佳实践。这是一个可观... 查看详情

构建异步邮件的最佳实践(使用 Sidekiq)

】构建异步邮件的最佳实践(使用Sidekiq)【英文标题】:Bestpracticeonstructuringasynchronousmailers(usingSidekiq)【发布时间】:2013-11-0600:06:45【问题描述】:只是想知道在我的Rails应用程序中构建异步邮件的最佳方法是什么(使用Sidekiq)... 查看详情

在 PHP 函数/方法中返回的最佳实践

...用这个机会来提高我的PHP技能并改进我们在数百个网站上使用的一些遗留代码。随着时间的推移,我已经阅读了关于如何最好地从自定义函数返回数据的相互矛盾的文章 查看详情

分析网页的最佳实践

...面。我也想请教一些最佳实践来完成这项工作早期开发者使用工具作为Chrome开发者工具在暂存阶段使用第三方工具和方法执行此操作的最佳方法是什么?有哪些可用的工具?【问题讨论】:【参考方案1】:一个很大的话题。Perfo... 查看详情

在 golang 中使用私有地图、切片的最佳实践是啥?

】在golang中使用私有地图、切片的最佳实践是啥?【英文标题】:WhatisthebestpracticeforusingprivateMaps,Slicesingolang?在golang中使用私有地图、切片的最佳实践是什么?【发布时间】:2015-10-2810:59:16【问题描述】:我想在地图更新时收到... 查看详情

在PHP中获取上传文件扩展名的最佳方法/实践是啥[重复]

...是我需要获得我能够获得的文件扩展名,但不确定我是否使用了最有效的 查看详情

在 php 中解决跨站点脚本 (XSS) 的最佳方法/实践?

...间】:2021-01-1004:18:53【问题描述】:我有一个php网页,它使用URL参数设置一个变量,然后显示在该页面中。网址:webaddress.com/page.php?id=someCity我们获取$_GET[\'id\']并将其分配为变量( 查看详情

在控制器中对模拟对象使用期望的最佳实践是啥

】在控制器中对模拟对象使用期望的最佳实践是啥【英文标题】:Whatisthebestpracticetouseexpectationsonmockedobjectsincontrollers在控制器中对模拟对象使用期望的最佳实践是什么【发布时间】:2021-02-2812:56:03【问题描述】:我经常想在控制... 查看详情

在objective-c或swift中覆盖pod文件方法的最佳实践是啥?

...8-08-0715:37:30【问题描述】:我最近开始在我自己的项目中使用开源的第三方框架,因为它可以将我的开发时间缩短一半。 查看详情