在同一Service Fabric节点上运行多个容器

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

我有一个具有4个核心的Windows Service Fabric节点,我想在其上托管3个容器化的无状态服务,其中为每个Windows容器分配1个核心,以从队列中读取消息并进行处理。我进行了一些实验,得到了以下结果:

  • 1个在节点上运行的容器:消息大约需要18秒已处理,每个容器的平均CPU使用率:24.7%,内存使用率:1 GB
  • 2个在节点上运行的容器:消息大约需要25秒已处理,每个容器的平均CPU使用率:24.4%,内存使用率:1 GB
  • 3个在节点上运行的容器:消息大约需要35秒已处理,每个容器的平均CPU使用率:24.6%,内存使用率:1 GB

我以为容器应该是隔离的,并且我希望无论容器数量如何,处理时间都将保持在〜18s不变,但是在这种情况下,似乎添加一个容器会影响其他容器的处理时间。每个容器都设置为使用1个核心,因此它们不应过度使用彼此的资源,并且cpu不会达到完全利用率。即使cpu是这里的瓶颈,我也希望至少有2个容器能够以大约18秒的处理时间运行。

对结果是否有逻辑解释?当有足够的计算资源时,是否不可能在同一Service Fabric主机上运行多个容器而不影响每个容器的性能?尝试在同一节点上运行多个容器时,Service Fabric的开销可能有多少?

谢谢!

azure-service-fabric service-fabric-stateless
1个回答
0
投票
您的容器不仅使用CPU,而且还使用内存和I / O(磁盘,网络),它们也可能成为瓶颈。
© www.soinside.com 2019 - 2024. All rights reserved.