1

只是一个关于 Azure 的问题。

是的,我大致了解 Azure 和云计算。我会这样说:

比如说,在正常情况下,我构建了一个监听 TCP 端口的程序。我在服务器中运行此服务器程序。我还构建了一个客户端程序,它通过指定的端口连接到服务器。一旦连接了客户端,我的服务器程序将计算一些东西并返回给客户端。

上面是正常的模型,或者说我的程序的模型。

现在我想使用 Azure。我想用是因为我的客户太多了,比如说一天100万。我不想租用 1000 台服务器并维护它们。(只是对客户数量的假设)

我查看了 Azure 定价计划。它谈到了 CPU 并谈到了小型、中型、大型实例。

我不知道他们是什么意思。例如,在我上面假设的情况下,我需要多少个实例?或者最多我可以从 azure 获得超大(8 个小实例?)

Azure 如何为我的程序扩展?如果我选择小实例(我的服务器程序很小,只是计算一些数据并返回给客户端),Azure 会为我扩展吗?还是 Azure 只是给了我一台虚拟服务器并让它过载?

请仅考虑 CPU,而不考虑存储或网络流量。

4

4 回答 4

3

您选择两件事:运行的 VM 大小(小型、中型、大型)以及运行这些 VM 的数量。这意味着您可以选择一个小型虚拟机(单处理器)并运行它的 100 个“实例”(100 个虚拟机),或者您可以选择一个大型虚拟机(同一台服务器上的八个处理器)并运行它的 10 个实例(10 个虚拟机) .

如今,Windows Azure 不会自动调整您的规模,因此您可以根据需要使用 Web 门户或服务管理 API 来增加实例数量。

于 2010-05-17T22:49:15.963 回答
0

要考虑的一个因素是您的应用程序是否可以利用多核环境(多线程、共享内存等)来提高其规模。如果可以的话,使用 5 个 2x 核心(即中型)VM 可能比 10 个 1x 核心(小型)VM 更好。在某些情况下,您可能会发现 2 个 4x 核心 VM 的性能优于 5 个 2core。

如果您的应用程序不是并行/多核的,那么您可以只做一些“x”个小型 VM。费用无论如何都是线性的——即 2 核 VM 是单核成本的两倍。

其他因素包括暂存盘大小和 VM 中可用的内存。

另一项建议 - 您可能想考虑利用 Azure 队列(即让客户端发布到队列,工作人员从那里拉出)。这将允许您透明地(对客户端)增加/减少工作人员而无需担心连接等。此外,如果处理步骤失败并导致您的实例崩溃,则消息将持续存在并被其他人之一拾取。

于 2010-05-20T20:26:57.373 回答
0

我建议您还监控、评估和完善您的 Azure 配置的结果。

对于“监视 Windows Azure 中的应用程序”(和性能),请参考 http://channel9.msdn.com/learn/courses/Azure/Deployment/DeployingApplicationsinWindowsAzure/Exercise-3-Monitoring-Applications-in-Windows-Azure/

还有一篇不错的博客文章,标题为“可视化 Windows Azure 诊断数据”

于 2010-05-21T20:53:50.793 回答
0

查看http://www.paraleap.com - 根据需求自动调整实例数量的简单服务。

于 2010-11-03T14:34:39.650 回答