使用k6 压测cube.js 请求接口
参考js 脚本
app.js
// Creator: WebInspector 537.36
import { sleep, group,check } from "k6";
import http from "k6/http";
export const options = {
vus: 2000,
duration: '1m',
thresholds: {
http_req_duration: ['p(90)<10000'], // 99% of requests must complete below 1.5s
},
};
export default function main() {
let response;
group("page_1 - http://localhost:4000/", function () {
response = http.get(
"http://localhost:4000/cubejs-api/v1/load?query=%7B%22measures%22%3A%5B%22CustomerDemographics.count%22%5D%2C%22timeDimensions%22%3A%5B%5D%2C%22order%22%3A%7B%22CustomerDemographics.count%22%3A%22desc%22%7D%2C%22dimensions%22%3A%5B%22CustomerDemographics.cdMaritalStatus%22%2C%22CustomerDemographics.cdCreditRating%22%5D%7D&queryType=multi",
{
headers: {
Host: "localhost:4000",
Connection: "keep-alive",
"sec-ch-ua":
'" Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"',
authorization:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiZGFsb25nIiwiYWdlIjozMzMsImlhdCI6MTYxODQxNDQ4Mn0.I6ED9Zp3e9YSHwJ8hvn9KkMKeWkH0hUsLxtu47dHOyY",
"sec-ch-ua-mobile": "?0",
"User-Agent":
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
"x-request-id": "d3292037-adb5-4f7a-a9cc-72be5975fa56-span-1",
Accept: "*/*",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Dest": "empty",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
},
}
);
check(response, {
'logged in successfully': (resp) => resp.status<400,
})
// Automatically added sleep
sleep(1);
})
}
运行
k6 run app.js
说明
以上只是一个简单的压测,实际我们应该包含很多流程上的压测,包括冒烟测试,压力测试,浸泡测试。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-04-18 easy-batch job 调度
2020-04-18 easy-batch job 监控
2020-04-18 easy-batch job 配置
2020-04-18 使用bloom 加速sqler + gitbase 的代码统计分析情况
2020-04-18 easy-batch 核心概念
2020-04-18 easy-batch 学习试用
2019-04-18 edgedb 内部pg 数据存储的探索 (一)基本环境搭建