有没有办法减少Azure部署启动和被调用的角色OnStart()代码之间的时间?

sha*_*oth 5 windows deployment azure

目前,当我使用Windows Azure管理门户创建部署时,需要大约9(9!)分钟才能OnStart()运行我的角色中的代码.我觉得有些不对劲 - 九分钟太长了.

我有一个小的启动任务,我期望在几秒钟内完成(并且在Compute Emulator下运行时在几秒钟内完成),所以看起来Azure基础架构在那里一直在做大事.

有没有办法加快这个过程?

Avk*_*han 13

将应用程序部署到Windows Azure时,取决于您的VM大小和实例计数,会发生以下情况:

  1. 您提供VM类型(小型,中型,大型,前大型)和实例计数(例如N)

  2. 依赖于VM类型设置,如果您选择了小型,则Fabric Controller(FC)需要找到可以为您启动单核VM的插槽,或者如果您选择ex-large,则FC需要找到要托管的主机8核心来宾VM.在这个步骤中,可能会发生两种可能性(有更多但是为了简单起见,我只引用了2):

    2.1 FC可以找到已准备好一个或多个核心的就绪节点(或机架)来托管您的VM 2.2 FC可能在所有正在运行的主机节点中找不到任何空核心,并且需要重新启动新节点托管您的来宾VM

  3. 如果为路径2.1选择了VM,则在这种情况下主机VM已经打开,主机只需根据您的大小为您配置来宾VM.这可能需要更少的时间,因为系统只需要配置和启动您的VM.

  4. 如果您的VM被选为路径2.2,那么首先主机将启动(如果它没有运行且非常常见*),那么您的访客VM需要配置并启动.而这条路径将比路径2.1更长.

注意:使用2.1和2.2时,您可能必须在部署相同的应用程序时分离经验.

  1. 发现为您的服务运行的N个实例也会发生同样的事情,但是这个过程将与2.1/2.2并行发生,但时间将基本相同.此外,FC还需要为每个实例找到不同的故障域,以便在一个实例关闭时,其他实例仍处于活动状态.

所以在系统内部还有很多事情要做,而不仅仅是打开Windows Server 2008机器.由于多个VM在单个主机上运行,​​因此安全性是主要的,因此在配置来宾VM时,需要做很多事情来保持工作正常.

关于你对"随时随地可用的小型服务器队"的评论,这是一个很好的评论,但当有一个服务于全世界的数据中心"小"是非常"巨大"的数字,只是为了让数千台机器在没有任何客户的情况下运行不符合逻辑.你也只是偶尔部署一次,这不是你每天都会做的,所以不到10分钟仍然可以理解.


use*_*559 9

Windows Azure通常需要5-15分钟才能部署.它正在做的是启动服务器,虚拟机,启动Windows等等.它随着时间的推移变得越来越快,但9分钟肯定不会与众不同.

  • IMO那太荒谬了.为什么在任何时候都没有随时可用的小型服务器?Windows 2008在不到两分钟的时间内启动,所以我认为任何比这更长的时间都是非常慢的. (5认同)
  • 荒谬是正确的...我只是等了超过45分钟才能配置一个SMALL实例.呃,需要多少台服务器才能"启动"以配置一个实例?非常失望. (5认同)