问答 locust 用户数和每秒发送请求数是什么关系

mengzh · 2020年01月16日 · 最后由 吉吉里 回复于 2020年04月29日 · 4121 次阅读

最近项目需要进行压力测试,于是选择用 lucust 进行压力测试,但是设置完总用户数和每秒生成用户数之后,启动测试,但是每秒并发数始终不太高,最高 400 多请求每秒,但是根据开发的意思,需要达到 3000。我现在不知道用户和请求之间是一个什么样的关系?不知道如何设置,还有就是如何提高每秒请求数?搜索业务结果,所以前来求助

共收到 3 条回复 时间 点赞

users 可以看成并发数, requests 就是总请求数

RPS 低有很多原因, 需要观察被压测服务的 CPU, RAM, IO, Network, DB 等, 还有两个关键指标是响应时间与成功率, 以及打压机的性能是否到了瓶颈.

找到瓶颈后对症下药, 才能提高 RPS.
----萌新后端测试

目前研究 locust 时发现,不管接口有多快,并发数有多少,locust 提供 tps,也就是压力都不高,远远低于相同条件下的 jmeter,有一个大神使用 go 语言写了可以兼容 locust 的,需要,你可以自己查一下

1、假设只有 1 个线程,单个请求的响应延时为 T 秒, 那么此时 QPS = 1 秒/T 秒

2、那么当有 N 个线程,也就是 N 个并发时, QPS = N/T。
3、所以正常情况下,增加并发 ,就可以提升 QPS。 但是当并发数超过一定数之后,会导致线程调度占用大量的 cpu,导致 T 变大。
因此需要不调整并发数大小,单台发压机不行,也可以多加几台发压机

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