使用 k6 编写高性能 API 与浏览器压测脚本

解决系统性能验证痛点:通过 AI 辅助编写 JavaScript 测试脚本,快速构建从简单的冒烟测试到复杂的压力测试、稳定性测试方案,并量化 SLA 达标情况。

为什么需要这个技能

传统的压测工具配置复杂,且与开发流程脱节。k6 采用开发者友好的 JavaScript 编写脚本,能够将性能测试直接纳入版本管理。

通过该技能,你可以不再依赖复杂的 UI 配置,而是通过代码定义虚拟用户(VUs)、定义性能阈值(Thresholds)并模拟真实用户行为。这使得识别性能瓶颈、验证 SLA(服务等级协议)以及在代码上线前捕捉性能退化变得高效且可自动化。

适用场景

  • API 性能验证:测试 HTTP API 或 WebSocket 接口在高并发下的响应时间和错误率。
  • 浏览器端压测:模拟真实用户在浏览器中的点击、跳转等交互路径。
  • 回归测试:将压测集成到 GitHub Actions 或 GitLab CI 中,确保每次提交不影响性能。
  • 极限压力测试:通过阶梯式增加负载,寻找系统的崩溃临界点。
  • 稳定性测试(Soak Test):在持续负载下运行长时间测试,检查是否存在内存泄漏。

核心工作流

  1. 环境搭建:安装 k6 运行时,如果是浏览器测试需安装 Chromium 驱动(k6 install chromium)。
  2. 定义测试场景
    • VUs 设定:配置并发用户数。
    • Stages 阶段:设计加载曲线(如:30s 启动 1m 峰值 30s 退出)。
    • Thresholds 阈值:设定判定标准(如:95% 的请求必须在 500ms 内完成)。
  3. 编写执行逻辑:使用 http 模块发送请求,利用 check 验证响应结果,通过 SharedArray 加载 CSV/JSON 测试数据。
  4. 分析与迭代:运行脚本 查看 P95/P99 指标 调整代码优化 重新验证。

快速开始示例

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

export const options = {
  vus: 10, 
  duration: '30s',
  thresholds: {
    http_req_duration: ['p(95)<500'], // 95% 的请求需 < 500ms
  },
};

export default function () {
  const res = http.get('https://api.example.com/users');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(1);
}

运行命令:k6 run script.js

下载和安装

下载 k6-load-testing 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐