性能测试工具 locust 性能测试疑问?

大瓶子 · 2022年07月19日 · 最后由 大瓶子 回复于 2022年07月21日 · 6327 次阅读

在学习 locust 性能测试中,模拟用户登录,获取 token。在学习中,参考的例子,用户名都没参数化,后续模拟数据并发或压测用的同一个 token?
这样与 jemter 压测时,用户名参数化,一个线程一个 token,每个线程的 token 值不一样,理解起来也很容易。所以 locust 的性能测试应该怎样理解一个 token 怎么对应模拟多个用户行为。

最佳回复

单 token 怎么行,试想一下,你真实的用户场景怎么可能是单 token?单 token 的 session 态占用的服务器资源能和多 token 的占用的资源一样么,不仅仅是服务器资源,还有带宽

共收到 9 条回复 时间 点赞

请设想:单个用户的多次行为和多个用户的单次行为。
大象能承受多大的伤害呢?1 只狮子咬上 100 口,100 只狮子各咬 1 口。

Thirty-Thirty 回复

想要多用户,多次行为

Thirty-Thirty 回复

或者我对压测,进入了某个误区了,1 只狮子一秒咬上 100 口,100 只狮子一秒各咬一口。伤害大致一致

单 token 怎么行,试想一下,你真实的用户场景怎么可能是单 token?单 token 的 session 态占用的服务器资源能和多 token 的占用的资源一样么,不仅仅是服务器资源,还有带宽

Stay 回复

可不可以这样想,多人登录同一个用户,然后操作业务,也是一种压测吧

大瓶子 回复

不行,你要有前置动作,就是造用户数据,然后用多线程的方式去操作这些用户,模拟真实的业务场景。

Stay 回复

如果要模拟真实场景,更推荐 LR,locust 好像不能在同一个虚拟用户下像浏览器一样同时发多个请求

Stay 回复

解决了,python 创建队列,用队列的方式保证每个 user 的 token 不一样

目前公司要求用开源或者付费产品,lr 多方考虑不会采购。

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