10

从 Windows Azure 开始,但我怎么知道哪个更好地处理网络流量和后台处理器。2x 额外的小实例或单个小实例会更好。

如果我要使用一个小实例,我会在 web-role 中制作后台处理器,这样做有什么缺点?

将来,这也将适用于多个小实例或更少的大实例。

是否有某种工具可以帮助确定我能够以哪种方式获得最大的收益等?

我知道要满足 Microsoft 的 SLA,需要运行 2 个实例。

4

3 回答 3

12

就服务可用性而言,最好有 2 个特小而不是 1 个小实例。话虽这么说有多个陷阱:

  • 您需要将 2 个虚拟机放入 2 个不同的升级域(在角色定义文件中完成)。
  • 您的应用需要支持多虚拟机,即不依赖非共享会话状态。
  • 更好的可用性并不意味着更好的性能,尤其是本地缓存基本减半。

缓存的大小和在许多小型 VM 上传播应用程序的总体困难通常解释了为什么大多数开发人员坚持使用单个但更大的 VM,直到它们达到真正需要横向扩展的点(无论如何,这对于大多数应用程序来说可能永远不会发生)。

于 2011-06-03T09:47:50.770 回答
3

出于 SLA 目的,您至少需要两个实例,正如 Joannes 在谈到服务可用性时所提到的那样。其他需要考虑的事项:

  • 在 Web 角色中处理后台任务很容易——您获得的与OnStart() and Run()工作角色相同。
  • 扩展时,请记住,如果您将功能组合到一个角色中,则所有这些都将作为一个单元一起扩展。因此,如果您的后台处理由于过多的网络流量而被饿死,您需要考虑将它们拆分为单独的角色
  • 超小型实例具有共享 CPU。更重要的是,它们的网络吞吐量将减少。一个小实例大约有。100Mbps。Extra Small 实例只是其中的一小部分(我需要查找数字)。而且...内存为 768MB,而小型内存为 1.75GB。
  • 如果您有 MSDN 订阅,则包含的 Windows Azure 订阅每月附带 1,500 个 CPU 小时。但是......这不包括Extra Small 实例。你会为此付出代价的。使用 MSDN 提供的帐户时,请务必使用 Small。编辑:MSDN 津贴现在对超小型实例很友好。
于 2011-06-03T13:33:54.900 回答
1

我想如果没有使用数据和更多信息,我们真的无法知道,即便如此,我认为只有时间会证明一切,但......

为什么不注册一个免费试用帐户,它可以为您提供一个额外的小实例。看看你的应用程序是否能够很好地应对,然后在它上线时获得第二个用于负载平衡、SLA 等。
如果它不能应对,那么就获得一个更大的 - 但我仍然倾向于选择第二个 - 除非您不在乎它是否在随机时间变得不可用。MS应用安全补丁并在不询问的情况下重新启动您的实例,因此第二个实例将防止您的站点不可用,因为它们会单独更新它们。

无论如何,如果它变得售罄,升级到更大的实例看起来并不是特别具有挑战性。

如果您有 MSDN 订阅(我认为是高级级别),那么您将获得足够的空闲时间来运行 2 个小型实例。

根据我所见,我认为添加后台处理器没有任何真正的“骗局”。毕竟,您要为整台机器付费,所以您不妨让它为它的钱工作。这就是他们在我看到的最近的科技日中给人的印象。

试试看...

于 2011-06-03T07:30:09.923 回答