有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
RPS (Request Per Second)一般用来衡量服务端的吞吐量,相比于并发模式,更适合用来摸底服务端的性能。我们可以通过使用 JMeter 原生的 Constant Throughput Timer 来限制每个线程的RPS。

配置 RPS 限制

RPS 取决于压测的并发数以及服务的响应时间,并发数过高,可能压力过大压垮后端服务,并发数过低,可能压不到指定的 RPS。
为了避免压力过大压垮后端服务以及摸底后端服务性能上限,可以通过设置 Constant Throughput timer 来限制线程的 RPS 上限。
以下示例中:我们通过 JMeter 添加一个线程组,包含2个线程,每个线程 RPS 上限为1。
运行30s,查看最终总的 RPS 是否为 1reqs/s/thread  × 2 thread = 2 reqs/s
1. 设置线程组并发数为2,运行30s。


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 的限制。
5. 查看结果报告,确认是否接近2req/s。