极简的压测,ab就够了。但ab只吃单核,能模拟的性能有限、且功能也很有限。(我猜它的资源利用率很高 /笑出声)
重量级的压测,可能需要用到类似 Jmeter/LoadRunner 这样分布式的压测工具。
如果我想要功能多一点,单机压力能充分利用就够了怎么办?k6
是个不错的选择。它使用简单、功能酷炫:k6 run --vus 999 --duration 666s ~/demo.js 2>/tmp/error.log
以JS为脚本,脚本示例:
import check from "k6";
import http from "k6/http";
export default function() {
let res = http.get("https://www.oschina.net/");
check(res, {
".": (r) => r.status === 200
});
};
外部文档不多,官网文档伺候: https://docs.k6.io/docs