【问题标题】:Mesos Performance OverheadMesos 性能开销
【发布时间】:2015-02-02 13:05:13
【问题描述】:

我正在开发一些 Docker 容器以在 Mesos 集群中运行。我们正在通过 Marathon 管理的 Chronos 提交作业。但是,我注意到在 Mesos 中运行容器与直接通过 Docker 执行容器相比,性能显着下降。通常,这些容器可以在大约 1.5 分钟内完成这项工作,但我看到使用 Mesos 运行时需要 3-12 分钟。我正在运行的核心进程执行大量磁盘 I/O,所以可能是 Mesos 中处理 I/O 的方式导致了这种情况?

任何想法都会很棒,但以防万一有人提出建议,我无法更改正在运行的核心流程。我无法控制它,它非常复杂。

谢谢。

编辑:通过 Marathon 运行作业进行了一些额外的测试,性能符合预期。也许是 Chronos 导致了这种退化?如果是这样,为什么会这样?

【问题讨论】:

  • 应该没什么区别。 Chronos 和 Marathon 都只是简单地向 Mesos 发送一个 TaskInfo。然后,Mesos 只需运行用户将运行的相同 docker 命令。你有不同的主机吗?在不同主机上运行时,您能看到执行时间的差异吗?
  • 是的,我有几个运行它的主机,但不管主机是什么,我只看到通过 Chronos 提交作业时的区别。
  • 您是否在所有情况下都配置了相同数量的资源?
  • 在以后的测试中,是的。
  • 你能分享一下后来发生的事情吗?你找到原因了吗?或者解决方法?

标签: mesos mesosphere


【解决方案1】:

正如 drexin 提到的,在 marathon 和 chronos 的情况下使用了哪些资源设置?应该没有区别,因为在这两种情况下都会下载图像并直接调用 mesos 容器化器。

【讨论】:

  • 我对两者都使用了相同的设置。
【解决方案2】:

您很可能正在使用默认资源,我相信 Chronos 的默认资源是 0.1 个 CPU 和 256MiB 内存。尝试将其增加到 1 个 CPU 和 1024MiB 内存。

【讨论】:

  • 我已经将 CPU 设置为 1,所以这不是问题。我确实认为这是一个资源问题,我将 RAM 提高到 4096 并且没有任何区别。
猜你喜欢
  • 2016-12-19
  • 2023-04-01
  • 1970-01-01
  • 2013-02-09
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 1970-01-01
相关资源
最近更新 更多