加特林(性能测试):如何每x分钟在后台执行一次任务

2023-12-28

我想知道如何使用加特林每 x 分钟在后台执行一项任务。

背景: 我想在我们的后端写几个场景。在这种情况下,我们的后端将被另一个后端调用。一个常见的场景:

  • 客户端(后端)到服务器身份验证(可选)
  • 客户请求 X
  • 客户请求 Y
  • 客户请求Z

我想要一个执行请求“X、Y 和 Z”的场景。

问题:后端(客户端)到后端(服务器)的身份验证是使用 accessToken 执行的。此 accessToken 在整个模拟中会过期几次,但我不想在每个场景中都进行此身份验证。 (因为这可能是瓶颈)。例如:令牌每10分钟过期一次,一个场景需要5秒,总共模拟2小时。

问题:如何创建一个每 10 分钟在后台刷新 accesstoken 的模拟。在现实场景中,后端(客户端)只有一个后台进程,每 10 分钟更新一次 accesToken(在内存中或共享状态中)。再说一遍:我不想重新验证每个场景(呼叫 X、呼叫 Y、呼叫 Z)。


如果适合考虑循环作为场景的一部分,那么您应该能够通过使用持续时间/截止日期和条件执行来实现您想要的。

eg

import scala.concurrent.duration._

val executionTime = 2 hours
val authTimeout = 10 minutes 
val safetyMargin = 30 seconds

val authenticate : ChainBuilder = exec(login)
  .exec(session => session.set("timeout", authTimeout.fromNow))

scn = scenario("scenarioXYZ")
  .exec(authenticate)      
  .during(executionTime) {
    doIf(session => {session.get("timeout").as[Deadline].timeleft <= safteyMargin}) {
      exec(authenticate)
    }
    .exec(requestX)
    .exec(requestY)
    .exec(requestZ)
  }
}

因此登录(设置您的令牌)并设置令牌过期的截止日期

然后根据需要循环,并且在每个循环中,如果身份验证剩余的数量少于指定数量,则再次进行身份验证并设置新的预期到期时间

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加特林(性能测试):如何每x分钟在后台执行一次任务 的相关文章

  • .NET 中的性能分析

    我写了一个类 它使用Stopwatch分析方法和for foreach循环 和for and foreach循环它针对一个标准循环进行测试Parallel For or Parallel ForEach执行 您可以像这样编写性能测试 Met
  • 优化的合并排序比快速排序更快

    http jsperf com optimized mergesort versus quicksort 为什么这种半缓冲区合并排序的速度与快速排序一样快 快速排序是 虽然它占用了原地log n 递归 堆栈空间 缓存友好 这个半缓冲区合并排
  • GCC 优化级别。哪个更好?

    我关注的是 GCC 编译程序的 CPU 内存消耗 执行用O3编译的代码在资源方面总是那么贪婪吗 有没有什么科学参考或规范可以显示不同级别的Mem cpu消耗的差异 研究这个问题的人们通常关注这些优化对执行时间 编译代码大小 能量的影响 但是
  • 如何在 VS 负载测试之前设置 JWT 令牌

    我正在尝试运行 Visual Studio 负载测试 但在运行之前 我必须调用登录 webAPI 来生成 JWT 令牌 然后在所有 webAPI Web 测试中使用此令牌 我只需要调用一次登录即可生成令牌 我的所有其他 webAPI 调用中
  • 如何通过 JMeter 中的 JDBC 采样器运行多个 MySQL 语句

    我在 JMeter 2 13 中使用 JDBC 采样器 我的 JMeter 采样器中有大约 100 个删除语句 如下所示 delete from abc where id gt Variable Name delete from qwe w
  • RampUsersPerSec 函数的真正作用是什么?

    我发现加特林文档对特定功能有点不清楚 rampUsersPerSec 在给定持续时间内每秒注入随机数量的用户 rate1 至 rate2 期间 dur 单位 从起始速率1注入用户 目标速率2 在给定持续时间内以每秒用户数定义 例如 在 10
  • 如何从命令行编译 MSVC 项目中的单个源文件?

    我即将开始对我们的构建进行一些基准测试 测试 并且我想从命令行驱动整个过程 我知道DevEnv但我不相信它可以做我想做的事 如果我可以在单个项目中构建单个文件 我会很高兴 这可以做到吗 其神奇咒语如下 请注意 这仅在 VS 2010 上进行
  • 为什么 multiprocessing.Pool.map 比内置映射慢?

    import multiprocessing import time from subprocess import call STDOUT from glob import glob import sys def do calculatio
  • 在 RSpec 测试中“let”真正节省了多少时间?

    我发现在代码中设置变量比使用变量容易得多let let很挑剔 总是告诉我错误使用的方式 当我在规范中使用简单的变量声明时 例如 tx good makeTransaction1 一切正常 但是当我使用let像这样 let tx good m
  • 加特林 scala 扩展失败,无法找到证据参数的隐式值

    尝试使用一种简洁的扩展方法来运行 gatling 3 0 2 我之前已经在 gatling 2 2 x 中多次使用过该方法 implicit class Extensions val scenario ScenarioBuilder ext
  • Ga特林 j.n.ConnectException:地址已在使用中

    当使用 Ga特林运行模拟时 我遇到以下异常 j n ConnectException 地址已在使用中 没有更多信息 当测试的服务器无法响应或超时时是否会发生这种情况 我想确保这是服务器抛出的异常 而不是客户端抛出的异常 我在 Windows
  • 如何在git上共享Xcode性能测试基线?

    I have performance tests on Xcode with a baseline set as shown below 这些基线似乎是本地保存的 如断点 因此我对它们的更改不会通过 git 传输 当除了我之外的任何人运行我
  • 运行 vsts webtest 时遇到 JavaScript required 错误

    当在 VSTS 2010 Ultimate 中运行录制的 webtest 时 许多 https 请求面临 JavaScript required 错误 请帮助我进一步进行负载测试 Visual Studio 的 Web 测试发送和接收 HT
  • JMeter 在性能测试期间挂起

    我试图模拟 4 个不同用户的 100 个线程请求 所有 97 个请求均已发送和接收 但其余 3 个请求仍显示为正在执行 我必须手动停止 Jmeter 然后只传递剩余的请求 为什么会发生这种情况 您的计算机可能没有资源来执行请求 或者 Jav
  • DRAM 访问的性能计数器

    我想找回DRAM 存取次数在我的应用程序中 准确地说 我需要区分数据和代码访问之间 该处理器是一个Intel R Core TM i7 4720HQ CPU 2 60GHz Haswell 基于英特尔软件开发人员手册 第 3 卷 https
  • 在什么情况下Java性能会随着内存的增加而降低?

    我们正在 DEV 环境中对 Java 1 6 应用程序进行负载测试 JVM 堆分配为 2Gb Xms2048m Xmx2048m 在负载测试下 应用程序运行流畅 从未使用超过 1 25Gb 的堆 并且垃圾收集完全正常 在我们的UAT环境中
  • 性能分析 asp.net,什么是 ProcessRequestNotificationHelper?

    我正在对每秒 20 个用户的负载下的 ASP NET Web 应用程序进行性能分析 20 个用户基本上使应用程序瘫痪 并且无法加载任何内容 我正在使用 RedGate 性能分析器 但我不知道如何使用它 12 的时间花在我的代码上 我可以深入
  • JMeter:tearDown Thread Group的目的是什么

    我想了解JMeter中tearDown Thread Group的实际用法 在什么场景下可以使用tearDown Thread Group 根据提供的帮助JMeter 拆解线程组 http jmeter apache org userman
  • 加特林负载测试期间编译错误

    我正在尝试编写一个模拟 并且希望能够运行该模拟 我在尝试 mvn gatling execute 时遇到错误 我的 pom 有以下依赖项
  • 从会话中读取数据时如何发出加特林捕获请求?

    根据加特林文档 http gatling io docs 2 1 7 session session api html 我可以在执行场景时使用会话属性 但是 每次我在场景中使用函数文字访问会话时 都会遇到以下异常 error java la

随机推荐