【问题标题】:Azure Websites - Scale Up vs. Scale OutAzure 网站 - 纵向扩展与横向扩展
【发布时间】:2014-04-17 02:37:59
【问题描述】:

有没有人看到任何关于何时是理想的横向扩展与纵向扩展的分析或信息。什么时候一个比另一个更有意义。

目前,在标准模式和基本模式下,2 个小型实例的成本与 1 个介质相同。

拥有 2 个小型实例,因此具有 4 GB RAM,与拥有 1 个具有 4 GB RAM 的中型实例相同(但没有 SLA);核心也是如此。所有其他功能都相同。

CPU 压力或内存压力这两个简单的指标是否决定了扩展的方式?

而且,在这种情况下,就在不同机器上运行的应用/网站而言,横向扩展不会出现问题。

【问题讨论】:

  • 这个问题似乎跑题了,因为它不是help center定义范围内的编程问题
  • 只是为了更正您关于 Azure 网站的断言之一。您不需要 2 个实例即可获得 SLA。你只需要一个。 (原因是因为有了 Azure 网站,我们的任何实例都可以为任何站点提供服务,并且我们可以在需要时立即将流量切换到另一个站点,而只需支付应用程序冷启动的成本)。
  • 有趣的是,我可以发誓我在某处看到需要 2 个实例。谢谢。

标签: azure


【解决方案1】:

如果可以,请始终尝试横向扩展与纵向扩展。由于重新启动/升级/等而导致一台 VM 宕机并且发生灾难性停机的可能性远大于 0……而运行两个 VM 和它们之间的负载平衡的开销是最小的,并且您同时拥有这两个 VM 的可能性是小得多。

此外,如果您需要 3 台服务器,使用中型服务器进行扩展将不会产生正确的粒度。

【讨论】:

  • 虽然向外扩展通常会为您提供高可用性而几乎不需要额外的工作,但这并不一定会这样做,并且向上扩展并不排除您添加高可用性选项。 (只需查看 Stack Overflow 架构即可了解扩展 stackexchange.com/performance 的一个很好的示例)。
【解决方案2】:

拥有 2 个每个 1.75 GB 的小型实例与拥有 1 个具有 3.5 GB RAM 的中型实例不同。最好有一个 MEDIUM 实例,因为现在有 3.5 GB 可供应用程序使用,而不仅仅是 1.75 GB。此外,每个操作系统会占用大约 800-900 MB 的 RAM。拥有两个实例需要两个操作系统的 RAM。

【讨论】:

  • 当我们在 kubernetes 上切换到多台小机器时遇到了这样的问题。由一台大型机器处理的大型下载停止工作,因为较小的机器没有足够的内存容量来处理它们。就像科技领域的一切一样,这是一种权衡。
猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 2021-05-08
  • 2021-10-13
  • 2014-09-21
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
相关资源
最近更新 更多