我针对一个API的10倍负载,这个API包含6个端点,这些端点应该在测试之下,但是每个端点都有自己的吞吐量,应该乘以10。
现在,我将所有端点放在一个脚本文件中,但是对于所有端点都有相同的吞吐量是没有任何意义的,我想运行k6,当某个特定组已经达到所需的吞吐量时,它必须自动停止。
示例:
api/GetUser >当前1k RPM >目标10k RPMapi/GetManyUsers >当前500 RPM >目标5k RPM主要问题是,当我将每个端点放在一个脚本中的一个单独的组中时,这样可以让k6在两个组/端点上迭代,具有相同迭代数的两个组/端点具有相同的虚拟用户,这将导致两个端点达到10倍,而这是目前所不需要的。
还有一件事,我已经尝试在不同的脚本中分离所有端点,但是这很难管理,这使得监视不容易,因为所有6个端点都应该并行运行。
发布于 2019-12-23 12:55:03
您目前需要的可以大致用__ITER和/或__VU 执行上下文变量来近似。有一个默认函数,其内容如下:
if (__ITER % 3 == 0) {
CallGetManyUsers(); // 33% of iterations
} else {
CallGetUser(); // 66% of iterations
}在不久的将来,我们还计划在一个脚本中添加一种支持多场景测试的更优雅的方法:https://github.com/loadimpact/k6/pull/1007。
https://stackoverflow.com/questions/59435197
复制相似问题