Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Azure平台:上下扩展实例_Batch File_Azure_Cloud_Multiple Instances - Fatal编程技术网

Batch file Azure平台:上下扩展实例

Batch file Azure平台:上下扩展实例,batch-file,azure,cloud,multiple-instances,Batch File,Azure,Cloud,Multiple Instances,注意:如果您熟悉Azure定价模型,请跳到“问题”部分 微软将开始对Azure平台的使用收费。每月账单是带宽、存储和其他的函数。计算账单的因素包括计算时间。 然而,后一个因素有一个误导性的名称:它应该被命名为实例托管时间。正在引用windows azure定价页: 在开发和测试应用程序时,开发人员会希望删除不用于最小化计算小时计费的计算实例 因此,让你认为这不是计算时间,而是正常运行时间,你将为此收费。在阅读了MSDN论坛上对以下内容的官方回复后,疑问完全消失: 我可以确认(任何角色的)每个实例

注意:如果您熟悉Azure定价模型,请跳到“问题”部分

微软将开始对Azure平台的使用收费。每月账单是带宽、存储和其他的函数。计算账单的因素包括计算时间。 然而,后一个因素有一个误导性的名称:它应该被命名为实例托管时间。正在引用windows azure定价页:

在开发和测试应用程序时,开发人员会希望删除不用于最小化计算小时计费的计算实例

因此,让你认为这不是计算时间,而是正常运行时间,你将为此收费。在阅读了MSDN论坛上对以下内容的官方回复后,疑问完全消失:

我可以确认(任何角色的)每个实例都会计数,并且实例活动的所有小时都会计数(无论它们有多少“活动”)。对于具有两个web角色实例和两个worker角色实例的应用程序,您将为四个实例付费

以每个实例0.12美元/小时的价格,使用N个实例的应用程序的平均计费为24*30*0.12*N/月=~每个实例86美元/月。 当你考虑到如果你想要99.9%的正常运行时间,你不能拥有少于2个实例的事实时,对于小型网站来说,情况就更糟了

因此,一个小型、计算能力低的网站可能不是Azure的目标市场。但对于批处理过程,负担可能会消失

问题

仅就计算能力和“计算小时数”计费而言,Azure对于一个月只运行几个小时的批处理进程来说是一个很好的托管选项,前提是您可以轻松地扩展实例数。因此:

  • 是否可以通过编程方式在Azure中增加和减少实例的数量?除了手动更改配置文件之外,还有其他选项吗
  • 在减少实例数量方面是否存在任何不明显的问题
  • Azure需要多少时间来“确认”应用程序的缩减

关于后一个问题:举一个极端的例子,您有大量的实例(比如1000个)运行45分钟。如果Azure无法在进程结束后的15分钟内注意到缩减,您将再被收取1000个计算时间小时的费用。

一点警告,我下面的评论不是基于在Windows Azure上运行生产应用程序;到目前为止,我只是玩弄它,阅读文档

是否可以通过编程方式在Azure中增加和减少实例的数量

是的,但是AFAIK Azure本身不能进行上下扩展,您必须通过web服务调用来实现这一点(与使用UI手动实现这一点非常相似)。请参阅“托管服务”一节,然后继续阅读

类似的东西可以相当容易地扩展以进行基本的工作队列监视。也许你需要一些功能更丰富的东西;在整个“企业服务总线”世界中有很多这样的系统

在减少实例数量方面是否存在任何不明显的问题

嗯。您需要考虑锁定,即如何确保每个工作进程以一致的状态离开队列,并在关闭前完成其任务

此外,从Azure价目表中可以看出:“部分计算小时按完整小时计费。”

Azure需要多少时间来“确认”应用程序的缩减

老实说,我不知道,但是假设你的应用程序已经完全退出了它的工作,我会假设最多几分钟。它们实例化新服务器的速度足够快,我猜启动新服务器比关闭它们需要更多的时间

试着测试一下。创建一个便宜的帐户,启动几个服务器,关闭它们,等等。创建一个应用程序的小型原型(或使用Azure示例应用程序之一),并体验一下


另一个方面是:你有什么保证可以在你想要的时候进行扩展?目前,任何云计算供应商AFAIK都没有这样的保证;但是亚马逊在这方面有着很好的记录。Azure是一个新产品,我们不知道微软的容量估计有多好,也就是说,我们不知道他们在未来几个月内在这方面的表现有多好。我希望这不是问题;微软会处理得很好,但我还没有证据证明这一点。

你是对的,你是在为正常运行时间而不是计算时间付费

需要警惕的一件事是,你不按比例支付部分工作时间,因此如果你快速地增加和减少工作时间,你就是在吃完整的工作时间

正如其他人提到的,您可以通过编程在应用程序中上下扩展。但是,通常情况下,特定角色只能访问其自己的度量(除非将度量保存到存储中),以及任何全局资源度量(队列长度等),因此根据CPU利用率等进行扩展可能很困难

扩大规模几乎是从一台机器几分钟后开始的。目前没有提供带加速的SLA。微软曾表示,实例将在不同的时间出现,因此,如果你做一个非常大规模的操作,在所有实例都可用之前,这可能是一个重要的时间;但有些实例几乎可以立即使用。在实例完全旋转之前,不会对其收费

缩小几乎立即发生,但您无法控制哪些实例用于缩小,因此,如果50%的实例处于空闲状态,而您进行了50%的缩小,则可能会关闭所有活动实例,并且需要在上一个实例上重新启动该工作