如果您在 AKS 中部署服务,那么 @Greg 的解决方案对于大多数情况应该足够了。但是,如果您的值scoring_timeout_ms
将超过 60000 毫秒(即 60 秒),那么我建议您也使用以下配置设置进行调整。当您的模型作为部署部署在 Kubernetes 中时,我们定义了一个 LivenessProbe,这样如果您的模型容器变得无响应,Kubernetes 可以自动重新启动您的容器,以恢复您的模型的健康状况。
period_seconds
:每个 LivenessProbe 之间的时间间隔。如果您的模型需要 45 秒来响应评分请求,那么您可以做的一件事是将每次 LivenessProbe 执行之间的时间间隔从默认的 10 秒增加到可能的 30 秒(或更多)。
failure_threshold
:在 Kubernetes 重新启动模型容器之后 LivenessProbe 失败的次数。如果你想每 10 秒运行一次 LivenessProbe 并且你的模型需要 45 秒来响应,那么你可以failure_threshold
从默认的 3 增加到 10。这意味着在连续 10 次 LivenessProbe 失败后,Kubernetes 将重新启动你的容器。
timeout_seconds
: LivenessProbe 在放弃前等待的时间间隔。您可以考虑的另一种选择是将timeout_seconds
默认的 2 秒增加到 30 秒。这将导致 LivenessProbe 在您的容器忙时等待长达 30 秒,但如果不是,它将提前回复。
没有要修改的“正确”配置设置,但这些设置的组合肯定有助于防止 502 “Replica closed connection before reply”错误。