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

目前,当我使用Windows Azurepipe理门户创build部署时,需要大约9(9分钟)的时间才能运行我的angular色OnStart()的代码。 我觉得有什么不对劲 – 九分钟是可笑的长。

我有一个小的启动任务,我希望在几秒钟内完成(在Compute Emulator下运行几秒钟就完成了),所以看起来Azure基础架构在那里做的事情很大

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

Windows Azure通常需要5-15分钟才能部署。 它正在做的是旋转服务器,虚拟机,启动Windows等等。随着时间的推移,速度会变得更快,但是九分钟肯定不是一般的。

将应用程序部署到Windows Azure时,取决于您的VM大小和实例数量,这将发生什么情况:

  1. 您提供虚拟机类型(小型,中型,大型,超大型)和实例计数(例如N)

  2. 根据虚拟机类型的设置,如果您选择的是小型的,那么光纤控制器(FC)需要找到一个可以为您启动单个核心虚拟机的插槽,或者如果您选择超大型,则FC需要找到主机到主机8核客户VM。 在这一步中,可能会出现两种可能(还有更多,但为了简单起见,我仅引用了2):

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

  3. 如果您的VM选择了路径2.1,则在这种情况下,主机VM已经打开,主机只需要为您提供一个访客VM取决于您的大小。 这可能需要更少的时间,因为系统只需要配置和启动虚拟机。

  4. 如果您的虚拟机被选择为路径2.2,那么首先主机将启动(如果它没有运行,哪个是非常常见的*),然后您的虚拟机需要预配置并启动。 而这条道路将需要更长的时间,路径2.1。

注:对于2.1和2.2,部署相同的应用程序时可能需要分离经验。

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

因此,在系统内部,比简单地开启Windows server 2008计算机还要多。 由于多个虚拟机在一台主机上运行,​​因此安全性是主要的,因此,在配置虚拟机虚拟机时,会做很多事情来保持工作顺序。

关于您对“随时可用的小型服务器”的评论,这是一个很好的评论,但是当数据中心服务于整个世界的时候,“小”是非常“庞大”的数字,只是为了让数以千计的机器在没有任何客户的情况下运行是不合逻辑的。 而且你只是稍微部署一次,这不是你每天要做的事情,所以10分钟之内还是可以理解的。

如果您指的是Azure中现有的虚拟机停止(取消分配)并稍后启动一次,那么是的 – 有一种方法可以使其速度超快,但您付出了代价。 您必须移动虚拟机才能使用高级存储。

主要的区别在于,高级存储不仅在更快速的SSD驱动器上,而且在不使用时也不会被归档,所以即使在虚拟机处于脱机状态时也要付钱。 请参阅普通存储虚拟机,当您启动虚拟机时,它们将复制到VHD到另一个存储位置,完成存档后,您不必为该磁盘付费。

但是对于高级存储,您的VHD始终保持准备就绪状态,因此当您启动虚拟机时,它不会被复制到任何地方。 这使得它更快。 不利的一面:即使VM被释放,你也要为VHD付费。

所以,如果你想支付或不支付,但有一种方法可以做到这一点。

(我不是一个天蓝色的专家,但是我曾经问过一些有关MVP的MVP,这就是他们解释的,如果这不正确,我会很乐意听到)。