k6 常用命令
# 编辑测试用例
echo 'import http from 'k6/http';
import { sleep } from 'k6';
export default function () {
http.get('https://test.k6.io');
sleep(1);
}' > script.js
k6 run script.js
# 或者使用 Docker
docker run -i loadimpact/k6 run - <script.js
常用参数
命令 | 描述 |
---|---|
--vus | virtual users(VUs),指定需要模拟的虚拟用户数 |
--duration | 测试时常 |
--insecure-skip-tls-verify | 跳过 TLS 安全校验 |
通过环境变量或者代码(配置文件)配置 k6
k6 还支持其他方式配置运行参数——环境变量和 JavaScript 代码。
通过环境变量配置 k6
环境变量大家都很熟悉了,略。
K6_NO_CONNECTION_REUSE=true K6_USER_AGENT="MyK6UserAgentString/1.0" k6 run script.js
通过代码(配置文件)配置 k6
import http from 'k6/http';
export const options = {
hosts: { 'test.k6.io': '1.2.3.4' },
stages: [
{ duration: '1m', target: 10 },
{ duration: '1m', target: 20 },
{ duration: '1m', target: 0 },
],
thresholds: { http_req_duration: ['avg<100', 'p(95)<200'] },
noConnectionReuse: true,
userAgent: 'MyK6UserAgentString/1.0',
};
export default function () {
http.get('http://test.k6.io/');
}
又或者通过配置文件:
{
"hosts": {
"test.k6.io": "1.2.3.4"
},
"stages": [
{
"duration": "1m",
"target": 10
},
{
"duration": "1m",
"target": 30
},
{
"duration": "1m",
"target": 0
}
],
"thresholds": {
"http_req_duration": ["avg<100", "p(95)<200"]
},
"noConnectionReuse": true,
"userAgent": "MyK6UserAgentString/1.0"
}
k6 --config config.json script.js
你可以参考 https://k6.io/docs/using-k6/options/ 查看每个参数不同形式下对应的名称。
个人而言,环境变量更适合容器化部署(Docker/Kubernetes)的环境下使用。而 JavaScript 的话适合喜欢配置即代码的朋友。