最近项目需要进行压力测试,于是选择用 lucust 进行压力测试,但是设置完总用户数和每秒生成用户数之后,启动测试,但是每秒并发数始终不太高,最高 400 多请求每秒,但是根据开发的意思,需要达到 3000。我现在不知道用户和请求之间是一个什么样的关系?不知道如何设置,还有就是如何提高每秒请求数?搜索业务结果,所以前来求助
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 变大。 因此需要不调整并发数大小,单台发压机不行,也可以多加几台发压机