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 ?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.