我是测试K6的新手。我已经看了K6的文件,但我不清楚"vus"one_answers";iterations"。我理解vus =访问声明的URL的人数,但我不确定"迭代"。
- 有人能帮我解释清楚吗?下面是我的代码。我的目标是测试一个Restful API,试着在5分钟内找出大约100个用户连续使用这个API的性能。
- 我的代码正确吗?因为我明白,我们只需要"我们"。和";duration"可以达到我提到的测试目标(100个用户在5分钟内连续使用这个API)(. 那么为什么需要添加"迭代"呢?
- 如果我将迭代更改为100,1000或删除它,会有什么不同?
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');
}
如文档所示,iterations
是定义共享迭代执行器的快捷方式,而指定duration
是定义常量vu执行器的快捷方式。这两者是相互冲突的,所以你基本上只需要使用其中一个。
您应该能够注释掉iterations
选项。完成迭代的次数(即执行导出的默认函数的次数)将完全基于vu在指定的duration
中能够实现的数量。
您可能还对不同的执行器感兴趣:如果您知道请求速率,例如每秒10个请求,则可以使用恒定到达速率执行器:
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');
}