2. k6 安装与配置:Windows/Linux/macOS 安装方式、环境变量配置、k6 run 命令基础、k6 login 与云服务集成

2.1 跨平台安装方式对比

k6 作为一款基于 Go 语言开发的单二进制工具,安装过程极为简洁。无论你使用哪种操作系统,核心思路都是将 k6 可执行文件放入系统 PATH 路径。下表汇总了三种主流操作系统的推荐安装方式及适用场景:

操作系统 推荐安装方式 命令/步骤 适用场景
Windows Chocolatey / 官方 MSI choco install k6 或下载 .msi 安装包 本地开发、快速上手
macOS Homebrew brew install k6 macOS 开发者、CI 本地调试
Linux (Debian/Ubuntu) APT 仓库 sudo apt-key adv ... && sudo apt-get install k6 服务器、CI/CD 流水线
Linux (其他发行版) 官方 .tar.gz 二进制 下载解压后放入 /usr/local/bin 容器化、离线环境
💡 最佳实践: 在 CI/CD 环境中,推荐使用官方 Docker 镜像 grafana/k6 直接运行,无需手动安装二进制。例如:docker run --rm -i grafana/k6 run - < script.js。

2.2 环境变量配置与验证

安装完成后,需要确保 k6 可执行文件位于系统 PATH 中。以下为各系统的验证与配置方法:

  • 验证安装: 打开终端,执行 k6 version,应输出类似 k6 v0.54.0 (go1.22.5, linux/amd64) 的版本信息。
  • Windows 手动配置 PATH: 若使用 .msi 安装,通常自动配置;若使用 .zip 包,需将解压路径添加到系统环境变量 Path 中。
  • Linux/macOS 手动配置: 若使用 .tar.gz 包,将解压后的 k6 文件移动到 /usr/local/bin 或添加到 ~/.bashrc / ~/.zshrc 的 export PATH=$PATH:/path/to/k6。
🔑 关键环境变量: k6 运行时支持通过环境变量覆盖配置,常用变量包括 K6_CLOUD_(云服务令牌)、K6_OUT(输出目标)、K6_ITERATIONS(迭代次数)等。这些变量优先级高于命令行参数,适合在 CI 中动态注入。

2.3 k6 run 命令基础

k6 run 是执行压测脚本的核心命令。其基本语法为:

k6 run [options] <script-file>

以下为最常用的参数组合及说明:

参数 简写 说明 示例
--vus -u 设置虚拟用户数 --vus 10
--duration -d 设置测试持续时间 --duration 30s
--iterations -i 设置总迭代次数 --iterations 100
--out -o 指定输出目标(如 csv, json, cloud) --out csv=result.csv
--http-debug 无 打印 HTTP 请求/响应详情(调试用) --http-debug

一个典型的快速压测命令示例:

k6 run --vus 20 --duration 60s --out csv=report.csv load-test.js
⚠️ 注意: --duration 和 --iterations 同时使用时,k6 会以先达到的条件为准。例如 --duration 10s --iterations 1000,若 10 秒内未完成 1000 次迭代,测试会在 10 秒时停止。

2.4 k6 login 与云服务集成

k6 Cloud(Grafana Cloud k6)提供分布式负载执行、结果存储与可视化分析能力。本地脚本可通过 k6 login 命令与云服务建立信任关系。

集成流程分为两步:

  1. 获取云令牌: 登录 Grafana Cloud k6 Web 界面,在 Settings → API Tokens 中创建令牌。
  2. 执行登录命令: 在终端运行 k6 login cloud -- <your->,该命令会将令牌写入本地配置文件(通常位于 ~/.config/k6/config.json)。

登录成功后,即可通过 --out cloud 将测试结果实时上传至云平台:

k6 run --out cloud script.js

云服务集成带来的核心能力包括:

  • 分布式负载生成: 利用云负载节点模拟来自全球不同地域的流量。
  • 实时仪表盘: 在浏览器中查看毫秒级延迟、吞吐量、错误率等指标。
  • 历史对比: 自动保存每次测试结果,支持跨版本性能回归分析。
  • 团队协作: 共享测试配置与报告,无需手动导出 CSV。
🔐 安全提示: 在 CI/CD 环境中,不要将令牌硬编码在脚本中。应通过环境变量 K6_CLOUD_ 注入,k6 会自动读取该变量完成认证,无需执行 k6 login 命令。

2.5 安装与配置流程总览

下图展示了从安装到首次运行压测的完整链路,帮助你建立全局认知:

k6 安装与配置流程总览 选择操作系统 执行安装命令 验证安装版本 配置环境变量 编写并运行脚本 登录云服务 结果输出与分析 📌 说明: 环境变量配置与云服务登录为可选步骤,但强烈建议在 CI/CD 或团队协作场景中完成配置。

2.6 常见安装问题与避坑

问题现象 可能原因 解决方案
k6: command not found k6 未在 PATH 中 重新检查安装路径,或手动添加 PATH
k6 version 显示旧版本 系统缓存了旧版本 使用 which k6 定位二进制位置,删除旧文件
k6 login cloud 提示认证失败 令牌过期或无效 在 Grafana Cloud 重新生成令牌,注意令牌权限范围
Windows 下中文路径报错 编码问题 将脚本路径改为纯英文,或使用 PowerShell 执行
🚀 快速验证: 安装完成后,执行以下命令可快速验证 k6 是否正常工作:
k6 run --vus 1 --duration 5s - <<< 'export default function() { console.log("Hello k6"); }'