Azure - 双倍 extra small 实例或单个 small 实例

10

我刚开始使用Windows Azure,但是我如何知道哪个更适合处理Web流量和后台处理器。两个额外小的实例是否比单个小实例更好。

如果我使用一个小实例,我会在Web角色中创建后台处理器,这种方法有什么缺点?

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

是否有一种工具可以帮助我决定如何获得最佳性价比等方面的优势?

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

3个回答

12

在考虑服务可用性的情况下,2个额外小型实例比1个小型实例更好。话虽如此,还有多个需要注意的地方:

  • 你需要将两个虚拟机放置在两个不同的升级域中(在角色定义文件中完成)。
  • 你的应用程序需要支持多VM,也就是不能依赖于非共享会话状态。
  • 更好的可用性并不意味着更好的性能,特别是本地缓存基本上减半。

缓存大小和将应用程序扩展到许多小型VM的整体困难通常解释了为什么大多数开发人员坚持使用单个但较大的VM,直到他们遇到确实需要进行扩展的点(对于大多数应用程序来说这很可能永远不会发生)。


谢谢你告诉我关于<b>升级域</b>的信息,直到你告诉我,我才知道这样的功能。是否有一种方法可以设置某种性能监控?想知道服务器何时不足以支持当前负载并需要增加资源。 - Jason Jong
根据我的经验,性能监测在领域模型(也就是你的应用程序的具体细节)精细驱动时要好得多。这意味着你必须设置非常具体的计数器,并对其进行操作。实际上,我建议一开始不要太担心扩展。 - Joannes Vermorel

3

为了满足SLA的要求,你需要至少两个实例,正如Joannes在谈到服务可用性时所提到的。其他需要考虑的事项包括:

  • 在Web角色中处理后台任务很容易-你会得到与工作角色相同的OnStart()Run()
  • 在扩展时,请记住,如果将功能组合到单个角色中,则所有功能都作为单个单位一起扩展。因此,如果由于过多的Web流量而使后台处理受到限制,则需要考虑将它们拆分成单独的角色。
  • Extra Small实例具有共享CPU。更重要的是,它们将具有较少的网络吞吐量。小型实例大约有100Mbps。 Extra Small实例只有其中的一小部分(我需要查找数字)。并且...内存为768MB,而小型实例为1.75GB。
  • 如果您有MSDN订阅,则附带的Windows Azure订阅每月配额为1,500 CPU小时。但是...这不包括Extra Small实例。您需要为此付费。请确保在使用您的MSDN提供的帐户时使用Small。编辑:现在MSDN津贴对Extra Small实例友好了。

1

我想我们没有使用数据和更多信息就无法真正知道,即使有了这些,只有时间才能证明...

为什么不注册一个免费试用帐户,获得额外的小实例。看看你的应用程序是否足够强大,然后在上线时再获取第二个实例进行负载平衡、SLA等。
如果它不能胜任,那就换一个更大的 - 但我还是倾向于选择第二个 - 除非你不介意它在随机时间变得不可用。微软会应用安全补丁并重新启动您的实例,而不会征求您的同意,因此第二个实例将防止您的站点不可用,因为它们将分别更新。

升级到更大的实例似乎并不特别具有挑战性,如果它成为畅销品,那就升级吧。

如果您拥有MSDN订阅(高级级别,我想),则可以获得足够的免费小时数来运行2个小实例。

从我所见到的很少的东西来看,我认为添加后台处理器没有任何真正的“缺点”。毕竟,您正在支付整个机器,所以最好让它为自己赚钱。这是我最近看到的技术日活动中他们给人的印象。

试试看吧...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接