单请求延迟 300ms,并发到 20 之后变成 3 秒。
原因:默认配置下,服务会把请求攒成批次一起算。批次越大吞吐越高,但排队时间也越长。
调参方向:
- max_batch_size 调小,牺牲吞吐换延迟
- max_wait_ms 调小,别等太久攒批
- 用连续批处理(continuous batching),新请求可以插进正在跑的批次
我的场景是交互式,用户等不了,所以把 batch 压到 4,延迟稳定在 500ms 左右。
如果是离线批处理,反过来,batch 越大越好。
结论:这类参数没有最优值,取决于你的场景是延迟敏感还是吞吐敏感。
主楼- 暂无回复
继续逛逛