[!] 老哥们分布式压测一般选用啥方案?

2021-03-18 14:04:11 +08:00
 zhuzhibin

RT,开源的且自己实践过的有 Apache 的 Jmeter 分布式方案,以及 wrk 依赖 lua 脚本进行压测,ab 太简陋这里就不说咯,也网上查询了一些方案,但是大部分都是大同小异,例如还有 py 写的 locust,没使用过,但是本质上应该跟 jmeter 很接近。

Jmeter 分布式压测发现的问题在于不稳定,一般是 master 机控制 slave 机,但是并发数上来的时候,起压机很不稳定,另外最蛋疼的是 Jmeter 关于线程数那些的配置问题,至今摸不透,例如有 10 台机器,单机 QPS 假如是 500,那么期望当然 10 台的结果是接近 10*500QPS,但是随着机器的增加,起压机也增加,QPS 反而会越来越低,控制机也容易卡顿,网上的帖子都是大同小异,现在是摸不清楚规范是什么,Jmeter 同样的配置,机器也一致,负载那些都降下来,重复压测的数据波动很大。
wrk 压测尝试了一下,如果增加被压机器,效果也不是期望的那样约等于倍数增长的 QPS,例如 2 台机器,同样的配置 QPS-> 2000,继续增加倍数的机器,QPS 还是差不多,压不上去。

所以小白这里请教一下老哥们,你们一般分布式压测是采用什么样的方案或者有什么样的规范,问题很简单:

单机 QPS:500,那么期望机器的数量跟单机的 QPS 应该是约等于或者接近倍数才是合理的,另外 wrk 分布式一般 lua 脚本怎么搞现在还没研究过,老哥们你们一般怎么搞哦,例如压测单机、多机负载均衡的 QPS ?

1591 次点击
所在节点    问与答
9 条回复
zhuzhibin
2021-03-18 14:22:02 +08:00
🚘🚘🚘🚘🚘🚘🚘🚘🚘
akumazero
2021-03-18 14:38:44 +08:00
我用的就是 locust 感觉挺方便的 20000 以下 qps 基本等于单机直接*机器数,就用官方文档 dockercompose 的方式就可以,每个机子放一份脚本
goodryb
2021-03-18 14:41:05 +08:00
公网压测考虑下 paas 服务,例如阿里云的 pts
FakNoCNName
2021-03-18 14:47:11 +08:00
tsung,分布式压测里面这个是当之无愧的巨佬,用了它就觉得 Jmeter 啥的也就是界面稍微友好一些。
zhuzhibin
2021-03-18 15:41:29 +08:00
@akumazero 那我可以在一台 master 机操作吗 ?老哥我到时研究下
zhuzhibin
2021-03-18 15:42:20 +08:00
@goodryb pts 了解过 我们一般的确也是在内网压负载均衡 晚点看看你说的那个
zhuzhibin
2021-03-18 15:42:46 +08:00
@FakNoCNName 这么猛?稳定吗
akumazero
2021-03-18 15:45:06 +08:00
@zhuzhibin #5 单 locust 自己不行,要 master 暴露端口后启动,然后其他的 worker 分别接入,但是启动与结果都是 master 上操作和生成
zhuzhibin
2021-03-18 15:47:55 +08:00
@akumazero 感觉流程跟 jmeter 接近

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762804

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX