k6 基础

一、什么是k6

简介

k6 是一个免费、开源、高性能的负载测试工具,能有效提高性能测试的生产力。它总结了LoadImpact在负载和性能测试行业的多年经验,提供了简洁、方便的脚本API,支持本地和云端执行,可进行灵活的配置。

二、安装
Mac 系统安装
Mac 系统可以通过 Homebrew 安装 k6:

brew install k6

Windows 系统安装
Windows 系统可以通过 Chocolatey 安装 k6:

choco install k6

或者通过 winget 安装 k6:

winget install k6

Docker 安装
k6 也可以通过 Docker 安装:

docker pull grafana/k6

运行

新建一个.js 文件, test.js

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

export let options = {
  vus: 100, // 并发虚拟用户数量
  duration: '1m', // 测试持续时间
};

export default function () {
  let res = http.get('http://www.***.com'); // 替换为你的实际URL
  check(res, {
    'status is 200': (r) => r.status === 200,
  });
}

运行 k6 run test.js

名称                    类型             作用
data_received    Counter    接收的数据量
data_snet    Counter    发送的数据量
http_req_blocked    Trend    在启动请求之前,被阻止(等待空闲的 TCP 连接槽位)所花费的时间
http_req_connecting    Trend    建立与远程主机的 TCP 连接所花费的时间
http_req_duration    Trend    请求的总时间。它等于http_req_sending + http_req_waiting + http_req_receiving(即,在没有初始 DNS 查找/连接时间的情况下,远程服务器处理请求和响应所需的时间)
http_req_failed    Rate    根据setResponseCallback
http_req_receiving    Trend    从远程主机接收响应数据所花费的时间
http_req_sending    Trend    将数据发送到远程主机所花费的时间
http_req_tls_handshaking    Trend    与远程主机握手 TLS 会话所花费的时间
http_req_waiting    Trend    等待来自远程主机的响应所花费的时间(也称为“第一个字节的时间”或“TTFB”)
http_reqs    Counter    k6 生成的 HTTP 请求总数
iteration_duration    Trend    完成一次完整迭代所花费的时间,包括花费的时间设置和拆卸.要计算特定场景的迭代函数的持续时间
iterations    Counter    VU 执行 JS 脚本的聚合次数(违约函数)
vus    Gauge    当前活动虚拟用户数
vus_max    Gauge    最大可能数量的虚拟用户(VU 资源是预先分配的,确保在纵向扩展负载级别时不会影响性能)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值