我是 K6 测试新手。我已经阅读了K6的文档,但我不清楚“vus”和“迭代”。我知道 vus = 访问声明的 URL 的人数,但我不确定“迭代”。
import http from 'k6/http';
export let options = {
vus: 100,
iterations: 20,
duration: '300s'
};
export default function () {
http.get('https://test.k6.io/contacts.php');
}
您可能还对不同的执行器感兴趣:如果您知道您的请求率,例如每秒 10 个请求,您可以使用 constant-arrival-rate 执行器:
import http from 'k6/http';
export let options = {
scenarios: {
default: {
executor: 'constant-arrival-rate',
duration: '5m',
rate: 10, timeUnit: '1s', // 10 per second
preAllocatedVUs: 8
}
}
};
export default function () {
http.get('https://test.k6.io/contacts.php');
}
根据你的问题,我们需要明白三件事。
正如您编写的脚本,上面提到以 100 vus 命中特定 api,在给定时间内,我们称之为持续时间,应该完成 20 次迭代。
它基本上是按照提及的持续时间和在该特定持续时间内并行的 vus 数量执行导出默认函数,可以完成多少迭代。