简单运行k6

运行k6

运行本地测试

复制下面代码,另存为 script.js

import http from 'k6/http';
import { sleep } from 'k6';

export default function () {
    http.get('https://test.k6.io');
    sleep(1);
}

开始运行

1.Linux CLI

k6 run script.js

2.Docker run

docker run -i loadimpact/k6 run - <script.js

3.Windows docker run

PS C:\> cat script.js | docker run -i loadimpact/k6 run -

效果如下

在这里插入图片描述

添加更多 VUs(用户)

尝试使用10个虚拟用户和稍长的持续时间运行负载测试

1.Linux CLI

k6 run --vus 10 --duration 30s script.js

2.Docker run

docker run -i loadimpact/k6 run --vus 10 --duration 30s - <script.js

3.Windows docker run

PS C:\> cat script.js | docker run -i loadimpact/k6 run --vus 10 --duration 30s -

定义在JavaScript 文件中

import http from 'k6/http';
import { sleep } from 'k6';
export let options = {
    // vus --> 用户
    vus: 10,
    // duration --> 持续时间
    duration: '30s',
};
export default function () {
    http.get('http://test.k6.io');
    sleep(1);
}

随着时间段减少vus

import http from 'k6/http';
import { check, sleep } from 'k6';

export let options = {
  stages: [
    { duration: '30s', target: 20 },
    { duration: '1m30s', target: 10 },
    { duration: '20s', target: 0 },
  ],
};

export default function () {
  let res = http.get('https://httpbin.org/');
  check(res, { 'status was 200': (r) => r.status == 200 });
  sleep(1);
}

效果如下

在这里插入图片描述

结果输出

标准输出,它会显示k6标志和以下测试信息:

  • 测试详情:一般测试信息和负载选项。
  • 进度条:测试状态和已经过去了多少时间。
  • 测试摘要:测试结果(测试完成后)。从 k6 v0.30.0 开始,可以完全自定义输出并将其重定向到文件。还可以使用机器可读版本的摘要保存任意文件,如 JSON、XML(例如 JUnit、XUnit 等),甚至是适合人类的格式良好的 HTML 报告!有关更多详细信息,请参阅句柄摘要()文档。

运行参数详情

  • execution:本地 显示 k6 执行模式(本地或云)。

  • output: -是粒度测试结果的输出。默认情况下,不使用任何输出,仅显示汇总的测试结束摘要。

  • script:路径/到/script.js 显示正在执行的脚本文件的名称。

  • scenarios:…是将执行此测试运行的场景的摘要和一些概述信息:

    • (100.00%)是使用的执行段

    • 50 个最大 VU告诉我们在所有场景中将使用多少VU(虚拟用户)。

    • 最大持续时间 5 分 30 秒是脚本运行所需的最长时间,包括任何正常停止时间。

  • default: …描述了此测试运行的唯一场景。在这种情况下,它是一个带有斜坡 VU 执行器的场景,通过阶段快捷方式选项而不是使用场景长格式选项。

外部输出

使用 --out 导出到外部

目前内置可用类型有:cloud、csv、influxdb、json、statsd

#示范: 输出成json, 并保存到 test.json 文件中
k6 run --out json=test.json script.js

当然 也是支持多输出的

k6 run --out json=test.json \
--out csv=test.csv script.js

参考官方文档

官方文档地址: https://k6.io/docs/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值