外部控制
通过 k6 的 REST API 或 CLI 在运行时控制和扩展执行。
之前,使用 pause
、resume
和 scale
CLI 命令全局控制 k6 执行。此执行器通过提供可在运行时控制 k6 执行的更好 API 来完成相同的工作。
请注意,向 scale
CLI 命令传递参数来更改活动或最大 VU 的数量将仅影响外部控制型执行器。
Options
externally-controlled
执行器没有优雅停止功能.
除此之外,此执行器具有所有 通用配置选项,以及这些特定选项
选项 | 类型 | 描述 | 默认值 |
---|---|---|---|
duration(必需) | 字符串 | 总测试持续时间。 | - |
vus | 整数 | 并发运行的 VU 数量。 | - |
maxVUs | 整数 | 测试运行期间允许的最大 VU 数量。 | - |
何时使用
如果您想在测试运行时控制 VU 数量。
重要提示:这是唯一不支持 k6 cloud
的执行器,它只能在本地与 k6 run
一起使用。
示例
在此示例中,我们将执行一个可在运行时控制的测试,从 10 个 VU 开始,最多 50 个,总持续时间为 10 分钟。
import http from 'k6/http';
export const options = {
discardResponseBodies: true,
scenarios: {
contacts: {
executor: 'externally-controlled',
vus: 10,
maxVUs: 50,
duration: '10m',
},
},
};
export default function () {
http.get('https://test.k6.io/contacts.php');
}
测试开始后,可以使用 pause
、resume
和 scale
CLI 命令进行外部控制。