性能测试工具 关于 locust 和 jmeter 同等环境下测试接口,输出的结果差异大

jackyin · 2018年12月04日 · 1499 次阅读

大家好,
由于初期接触这些性能工具,在选择接口性能工具的时候,选择了 jmeter 和 locust,为了实验,我选择了最基础的登录接口来进行相关验证,本身期望是两个工具能够在输出的结果上相似,但是实际情况下来发现在 100user 的情况下两者的 TPS(RPS)存在很大的出入:jmeter 得出的 TPS 结果为 1.5W/s, 而使用 locust 单机多进程测试得出的 rps 在单个 slave 的情况下只能达到 500/s 左右,并且在测试后端服务接口过程中,发现使用 jmeter 的时候,被测试后端服务的 cpu 使用率达到 2000%, 而 locust 在单 slave 的情况下只有 100% 左右(通过了解是说是因为 locust 使用单线程方式 cpu 占用会较低)
对于这种情况,我有以下几个问题想了解下:

  1. 如果按照 locust 这种通过协程来实现压力,如果我想让 locust 实现和 jmeter 基本同样的效果的话(吞吐率 1.5w,服务 cpu 占用率为 2000%),是否只能通过多机分布式来进行?个人机器普通 4 核,8G 内存
  2. 另外关于 locust 的 maste 和 slave,网上说的是,slave 的数量可以为压力机的逻辑核个数或者倍数 ,可是我在单机中发现随着 slave 的增加,cpu 使用率确实增加,在单机开了 5 个 slave 的情况下,被测试后端服务的 cpu 使用率也只是在 200% 左右,这种情况下,如果我想达到 2000% 的这个 cpu 使用率。难道只能没有任何依据的增加压力机个数吗。

纯属新人求教。谢谢

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册