Amazon Web Service和Windows Azure中的Linux和Windows启动时间

我一直在使用Windows Azure和amazon web servicesEC2已经好几个月了(几乎到了几年的时间),而且我看到一些反复出现的东西似乎令人不安。

使用AWS和Linux,我通常会在1-3分钟范围内获得EC2的实例启动时间。

在EC2实例上使用AWS和Windows操作系统通常需要10-20分钟。

使用Windows Azure Web或服务angular色,我经常可以从6-30分钟的任何时间等待angular色启动。 当然,我认为这涉及在结构中的某个地方启动一个Windows实例。

我知道总是有很多关于windows的FUD与Linux相比,但是我真的很想知道为什么Windows 08或者03的启动速度比Linux慢得多。 任何具体的技术信息,将不胜感激! 谢谢。

Sysinternals成名的Mark Russinovich在最近的微软PDC会议上有一个很好的演讲 ,他在这个会议上解释了Windows Azure下的情况。 如果您不想观看整个video或浏览幻灯片 – 除了在请求新实例时启动虚拟机之外,实际上还有很多事情发生。

当然,以上是特定于启动Azure云中的Windows VM的。 我没有亚马逊的服务经验,但我想他们也开始一个新的实例之前,做了一堆基础设施相关的操作。 没有人争辩说,一般情况下,Linux的机器启动速度要快于Windows,但是我将云中的启动时间差异归因于特定于基础架构的操作。

有一个非常有趣的论文(易于阅读)关于云启动时间的VM。 它包括EC2,Rackspace和Azure。 答案似乎是VM镜像大小。

http://www.slideshare.net/mingtemp/a-performance-study-on-the-vm-startup-time-in-the-cloud

http://www.cs.virginia.edu/~mm5bw/papers/Cloud%20VM%20Startup%20Performance%20Study.pdf

Windows实例在启动过程中花费的大部分时间是sysprep并生成SIDS。 在EC2上,如果要创buildAMI并尝试从该映像启动实例(不带sysprep),则会注意到启动速度更快。