Windows系统中使用k6分析项目性能
k6 是一个开源的负载测试工具,专为开发人员和测试人员设计,支持 HTTP/HTTPS 协议,可模拟复杂的用户场景和负载。它提供简单的 JavaScript API,适合编写自定义测试脚本。
安装
本文使用Chocolatey
包管理工具安装k6
,如果您已经安装过Chocolatey
,请直接跳转到步骤4。
- 以管理员身份打开
PowerShell
- 执行安装命令:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- 验证,若显示版本号则安装成功。
choco --version
- 运行命令行,安装
k6
choco install k6 # Windows
k6
使用
- 编写测试脚本
test.js
import http from 'k6/http';
import { sleep } from 'k6';
export let options = {
vus: 10, // 虚拟用户数
duration: '30s', // 测试持续时间
};
export default function () {
let res = http.get('https://your-api-endpoint.com/');
sleep(1);
}
也可以把脚本的参数写到命令行,效果一样。
k6 run --vus 10 --duration 30s test.js
- 运行测试
k6 run test.js
k6 会显示实时结果,包括请求的响应时间、吞吐量、错误率等。
在 k6 Cloud
控制台查看报告
- 登录
初次登录需要注册k6账号,也可以选择下面的登录方式直接登录。
网址:https://app.k6.io/account/login
2. 登录成功后,复制API Token。
3. 在命令行运行
k6 login cloud --token <YOUR_K6_CLOUD_API_TOKEN>
- 在上述运行测试的命令行中加上
--out cloud
,即可在本地运行测试并将结果发送到云端。
k6 run --out cloud test.js
- 点击https://app.k6.io/organizations/3360904/sunset中的
GO TO GRAFANA CLOUD K6
,跳转到Grafana的登录界面。
选择之前登录k6
的账号。
点进自己的项目。
点进项目里测试脚本的记录。
上面是一些柱状图,记录了每次测试脚本运行的简要信息,在柱状图或者下面的表格中点击想要查看的记录,会跳转到详情。
红框中是一些重要的数据,下拉可以看到每次请求的执行情况。
参考文章
- 压测工具 K6 的使用笔记 (这个文章里面有详细的测试脚本编写教程)