mlflow 和 docker swarm

问题描述 投票:0回答:1

嗨,我开始学习 docker swarm 所以我有一个简单的问题

如果我在 docker swarm 中运行 MLFlow 的单个实例 docker 容器设置如下: CMD [“mlflow”,“服务器”,“--no-serve-artifacts”,“--host”,“0.0.0.0”,“--workers”,“4”]

与运行 4 个实例“相同” CMD [“mlflow”,“服务器”,“--no-serve-artifacts”,“--host”,“0.0.0.0”,“--workers”,“1”] ?

docker-swarm mlflow
1个回答
0
投票

这完全取决于 MLFlow 的使用方式以及它如何管理其工作人员。

如果您要求 Docker Swarm 创建 4 个 mflow 服务实例,它应该将这些实例分布在您的 swarms 节点上(如果您有多个节点)。这将为您提供水平可扩展性。

如果您告诉 MFLo 使用“4”个工作线程,那么每个实例将能够一次处理 4 个请求。

Docker 将以循环方式对实例请求进行负载平衡 - 假设服务器连接持续一个请求。这通常足够好,但如果某些任务很快而另一些任务很长,这可能会导致未充分利用的节点被跳过,并将新请求传递到繁忙的节点。

在单个节点上,具有多个工作人员的 MLFlow 可能会更好地确保可用工作人员接收请求,因此在多节点群上,您可能会通过使用设置工作人员 > 1 的组合来实现最佳结果垂直缩放和实例 > 1 以实现水平缩放。

© www.soinside.com 2019 - 2024. All rights reserved.