根据文档,ramp-up period 的描述如下:
加速周期告诉 JMeter 需要多长时间才能“加速”到所选线程的全部数量。如果使用 10 个线程,并且启动周期为 100 秒,那么 JMeter 将花费 100 秒来启动并运行所有 10 个线程。每个线程将在前一个线程开始后 10 (100/10) 秒启动。
那么如果我想测试特定 API 请求中的竞争条件,是否应该将启动周期设置为 0?我想验证当 100 个用户同时请求 API 时应用程序是否正确响应。
如果您想在完全相同的时刻发送 100 个请求 - 将 Synchronizing Timer 添加到您的 HTTP Request 采样器,并将“分组依据的同时用户数”设置为
100
。
如果您希望 100 个用户在特定时间段内访问 API 端点 - 请考虑设置合理的启动时间,例如 50 或 100 秒,以便负载逐渐增加。根据 JMeter 文档:
Ramp-up 需要足够长,以避免测试开始时工作负载过大,并且足够短,以便最后一个线程在第一个线程完成之前开始运行(除非有人希望发生这种情况)。
从 Ramp-up = 线程数开始,然后根据需要向上或向下调整。
通过这种方式,您将能够将不断增加的负载与其他指标(如吞吐量、响应时间、错误数量等)相关联。
更多信息:JMeter 启动期:终极指南