配置 RPS 限制
RPS 取决于压测的并发数以及服务的响应时间,并发数过高,可能压力过大压垮后端服务,并发数过低,可能压不到指定的 RPS。
为了避免压力过大压垮后端服务以及摸底后端服务性能上限,可以通过设置 Constant Throughput timer 来限制线程的 RPS 上限。
以下示例中:我们通过 JMeter 添加一个线程组,包含2个线程,每个线程 RPS 上限为1。
运行30s,查看最终总的 RPS 是否为 1reqs/s/thread × 2 thread = 2 reqs/s
2. 添加HTTP sampler,模拟发送 HTTP 请求。 3. 右键单击线程组,选择 Timer > Constant Throughput Timer。 4. 配置每个线程组 RPS上限为1 req/s, 即: 60req/min。 注意:
1. Target throughput 默认单位是分钟,如果想设置单线程 RPS 是 1reqs/s, 则 JMeter 表单中必须填写60,即60req/min。
2. Calculate Throughput based on 必须设置为 this thread only,即设置单个线程的 RPS。当用户配置的并发较大时,PTS 将压测任务切分后分发到多个 JMeter 引擎执行。其他选项仅对单个引擎生效,无法全局生效。
3. 如果要制定全局 RPS 限制,可使用全局 RPS 除以并发数,得到单个 RPS 的限制。