加特林:场景中的并发执行

约翰·苏巴斯

我正在尝试测试主页的加载时间。浏览器在加载主页时发出的HTTP请求的顺序类似于A-> B-> [C,D,E]

那是说

  • B在收到A的响应后执行
  • C,D,E在收到B的响应后同时开始。

我尝试了以下方法来模拟这一点:

方法1

每个都有一个方案A, B, C, D, E所有方案都配置有50个用户。我尝试了这个:

A.inject().andThen(B.inject.andThen(C.inject(), D.inject(), E.inject()))

问题是,仅在A的所有用户都停止之后B才启动。这不能准确地模拟主页加载,因为我希望已经完成A的用户从B开始而不等待其他用户。

方法2

我创建了一个包含所有http请求的方案。

exec(A).exec(B).exec(C).exec(D).exec(E)

例如,这将意味着D仅在收到C的响应后才执行。这个不对。

解决问题的最佳方法是什么?

斯特凡·兰黛

那不是Gatling的工作方式,也不是您的实际Web客户端。

你应该有1个与用户执行请求的单一场景,然后要求B,然后请求C,d和E同时使用资源

val scn = scenario("foo")
  .exec(requestA)
  .exec(requestB
    .resources(requestC, requestD, requestE)
  )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章