【问题标题】:How to Simulate a new user on each iteration如何在每次迭代中模拟新用户
【发布时间】:2018-05-16 14:01:42
【问题描述】:

需要对 1000 个虚拟用户执行负载测试。但由于缺乏用户凭据无法执行它。那么任何人都可以解释我如何在每次迭代中模拟一个新用户。我已经启用了Simulate a new user on each iteration,也启用了Clear cache on each iteration,但多次迭代仍然获得相同的会话ID。

我们已将 SSO 与我们的应用程序集成,并且刚刚在 Action.c 下创建了简单的 Sign InSign Out 场景,并进行了 4 次迭代。

以下是我在执行脚本后得到的日志。对于每次迭代,会话 id 保持不变

迭代 1:

Action.c(110): ************** SESSION ID ************** : 1e9e644f-7023-4641-b53d-4a8db900a8c9

迭代 2:

Action.c(110): ************** SESSION ID ************** : 1e9e644f-7023-4641-b53d-4a8db900a8c9

迭代 3:

Action.c(110): ************** SESSION ID ************** : 1e9e644f-7023-4641-b53d-4a8db900a8c9

迭代 4:

Action.c(110): ************** SESSION ID ************** : 1e9e644f-7023-4641-b53d-4a8db900a8c9

我的运行时间设置如下所示:

【问题讨论】:

  • 您需要关联会话 ID。请阅读 LoadRunner 中的相关性。
  • @Buzzy,我已经关联并且每次迭代仍然获得相同的会话 ID。如果它不相关,那么脚本就会失败。
  • 在浏览器中尝试会发生什么?
  • 获取不同的会话 ID。
  • 不看脚本就很难知道发生了什么,但可能是如果您为每次迭代使用相同的凭据,服务器会优化某些内容以使用相同的会话,而不管您使用什么在客户端做了。

标签: performance-testing load-testing loadrunner vugen


【解决方案1】:

是否有可能,您的应用服务器在负载均衡器后面运行?在负载测试期间,我们有时会遇到粘性会话问题,因为从同一个 IP 请求,所以会话被缓存在代理/LB 上。 或者,也许您在您的应用中发现了一个错误......

【讨论】:

    【解决方案2】:

    在此处查看您的脚本https://gist.github.com/tejas1493/540ab8e39a1ab21d560a3872667be315,您正在记录您在登陆登录页面时关联的 client_id 参数。

    从您的登录请求来看,它使用的是 spring 和 openid。使用 openid,client_id 是客户端的唯一标识符,因此始终相同,并且与单个会话无关。

    https://connect2id.com/learn/openid-connect

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多