我们最近将我们的ASP.NET 4.0应用程序从Windows2003 x64 / IIS 6 VM迁移到新的Windows 2008 x64 RC2 / IIS 7(7.5)VM。 资源是相同的4GB内存,4个CPU,都在同一个ESX主机上。 我试图匹配每一个可以想象的iisconfiguration设置,caching,压缩等二者之间。 尽pipe如此,根据alertsite和gomez的外部performance监测,响应时间自交接以来翻了一番。
“第一个字节的时间”平均值已经增加了几分之一秒。 “内容”交付时间全面增加了一秒。 “整页下载”全面增加了几秒钟。
为了进一步解决问题,我们开始使用双节点windows2008服务器场,使用ncache进行群集会话,并使用锦缎负载均衡器,并且响应时间增加了2-5倍。 然后,我们放弃了只有一台服务器,并绕过负载平衡器,以回复时间增加2倍。
负载平衡器使事情变得更糟,大部分响应时间在内容/基本页面和整页下载指标中增加,这使得我认为它与networking有关,或者至less在IIS级别,根本不像IIS6那样快。
我希望我忽略了一些关键设置,因为我无法理解如何同时升级操作系统和加倍资源(添加第二个节点)导致更糟的性能。
我意识到这是没有太多的信息,所以我只是寻找任何build议,看看或如何诊断。 build议在哪个perfmon柜台看,寻找什么和他们的意思会有所帮助。 狂野的猜测欢迎。
在这里看到我的博客文章。 我有同样的问题。 networking副本也可能很慢。
http://tsells.wordpress.com/2009/11/08/slowness-with-windows-2008-r2-and-virtual-machines/
您是以“Classic”模式还是“Integrated”模式运行应用程序池? 通过在“经典”模式下运行,您可能需要考虑一些开销。 你可以在这里阅读更多 。 请注意,您的应用程序可能无法在“集成”模式下运行,只需稍作更改即可在IIS7pipe道中协调工作。
所有这一切说,我不确定它会完全解释你的情况…特别是如果你真的在谈论提供基于静态文件系统的内容。 如果你有中间的自定义处理程序,它肯定是相关的。