目前,当我使用Windows Azure管理门户创建部署时,需要大约9(9!)分钟才能运行我的角色OnStart()
中的代码。我觉得有些不对劲 - 九分钟是非常长的。
我有一个小的启动任务,我期望在几秒钟内完成(并且在Compute Emulator下运行时几秒内完成),所以看起来Azure基础架构在那里做大事所有的时间。
有没有办法加快这个过程?
答案 0 :(得分:12)
将应用程序部署到Windows Azure时,取决于您的VM大小和实例数,这就是:
您提供VM类型(小型,中型,大型,前大型)和实例计数(例如N)
依赖于VM类型设置,如果您选择了小型,则Fabric Controller(FC)需要找到一个可以为您启动单核VM的插槽,或者如果您选择了ex-large,那么FC需要找到一台主机来托管8核心的guest虚拟机。在这个步骤中,可能会出现两种可能性(有更多但是为了简单起见,我只引用了2):
2.1 FC可以找到一个已准备好的节点(或机架),它已经有一个或多个可以自由托管VM的核心 2.2 FC可能无法在所有正在运行的主机节点中找到任何空核心,并且需要重新启动新节点来托管您的来宾虚拟机
如果为路径2.1选择了VM,则在这种情况下主机VM已经打开,主机只需要根据您的大小为您配置来宾VM。这可能需要更少的时间,因为系统只需要配置和启动您的VM。
如果你的VM被选为路径2.2,那么首先主机将启动(如果它没有运行且非常常见*),那么你的客户虚拟机需要配置并启动。此路径将比路径2.1更长。
注意:使用2.1和2.2时,您可能必须在部署相同的应用程序时分离经验。
因此,在系统内部,除了简单地打开Windows Server 2008计算机外,还有很多工作要做。由于多个VM在单个主机上运行,因此安全性是主要的,因此在配置来宾VM时,需要做很多事情来保持工作正常。
关于您对“随时可用的小型服务器队”的评论,这是一个很好的评论,但是当一个服务于全世界的数据中心“小”是非常“巨大”的数字并且只是为了让数千台机器运行没有任何客人是不合逻辑的。你也只是偶尔部署一次,这不是你每天都会做的,所以不到10分钟仍然可以理解。
答案 1 :(得分:8)
Windows Azure通常需要5到15分钟才能部署。它正在做的是启动服务器,虚拟机,启动Windows等。随着时间的推移,它会越来越快,但9分钟肯定不会与众不同。
答案 2 :(得分:0)
如果您指的是Azure中的现有虚拟机,您停止(取消分配)并暂时启动,那么是 - 有一种方法可以让它超级快,但您需要付费。 您必须将VM移动到使用高级存储。
主要区别在于,高级存储不仅适用于速度更快的SSD驱动器,而且在不使用时也不会存档 - 因此即使VM处于脱机状态,您也需要付费。 请参阅正常的stoage VM,当你启动它时,它们会将VHD复制到另一个存储它运行的存储中,当你完成它时,它会被存档而你不需要为该磁盘付费。
但是对于高级存储,您的VHD始终可以运行,因此当您启动VM时,它不会被复制到任何地方。这使它更快。缺点:即使VM被解除分配,您也需要为VHD付费。
所以,如果你想支付或不支付费用,由你决定 - 但有一种方法可以做到。
(我不是一个天蓝色的专家,但我确实询问了一些关于它的MVP以及他们所解释的内容。如果这不准确,我很乐意听到。)