IIS 7.5(Windows 7)下的ASP.NET网站运行速度极慢

时间:2010-03-03 22:28:06

标签: windows-7 performance connection-pooling iis-7.5

我刚刚在台式机上安装了Windows 7 x64 Ultimate。我安装了IIS,Visual Studio 2008,注册的ASP.NET等等。

我有这个ASP.NET 3.5网站我正在努力在这个新的IIS上运行速度极慢。在STA和PROD服务器(Windows 2003 Server)和旧的XP / IIS 5.1上,一切都运行顺畅。

通常需要1-2秒才能加载的页面需要8秒!!!

我在IIS论坛上看到了this post。它说了一些关于Vista / 7没有汇集连接的东西(只是为了让你知道,网站在本地运行,但它连接到托管在远程服务器上的SQL Server 2005)。

似乎需要一段时间来“开始加载”页面...我的意思是,我点击刷新它会停留几秒钟“等待localhost”...然后当它得到响应它加载整个页面通常...

我不知道如何强制Win7 / IIS7.5池数据库连接。

编辑:我已经创建了一个新的空ASP.NET ASP.NET应用程序,以查看问题是否也会发生。答案是否定的,它应该使用空的默认页面快速响应。也许是与数据库连接有关的东西。我会做进一步的测试。它应该是一种修复它的方法......

编辑2:调试应用程序我注意到在执行.NET代码(Page_Load等)之后出现延迟...所以当IIS将页面提供给页面时,延迟似乎就在某处浏览器。

4 个答案:

答案 0 :(得分:5)

对于那些有同样问题的人,这里有两种可能的解决方案。

  • 1)在Firefox中禁用IPv6支持(仅适用于Firefox)

我发现的大多数作者都认为这种方法是最快捷,最干净的解决方案。您需要做的基本上是在Firefox中打开配置设置(about:config)并将network.dns.disableIPv6设置更改为true。

  • 2)更改主机文件(所有浏览器)中的本地主机设置

我想到了一个想法,即检查我的机器上IPv6设置的位置和方式。我看到上面提到的消息来源中的一条评论说,只需用url中的机器名替换localhost即可解决问题。

我花了很长时间才检查并看到禁用我的IPv6 localhost查找与在Firefox中直接禁用IPv6的做法相同。

您需要做的是基本上在您的主机文件中注释/删除此特定行:

#::1             localhost

注意::: 1表示法是IPv6等效于IPv4 127.0.0.1查找地址。

我认为第二种解决方案可能更适合那些不想一般禁用IPv6的用户,而第一种解决方案更适合所有其他仍未在常规工作中使用IPv6的用户。

答案 1 :(得分:3)

我遇到了同样的问题:在Windows 7 64位上使用IIS 7.5,使用带有4GB RAM的Core 2 Duo和仅运行1个网站的3个应用程序池进程,网站性能非常低。这是我为了将速度恢复到IIS所做的,问题解决了......

我的诀窍是按照IIS.net上的Microsoft指示使用32位工作程序运行IIS,您可以在此处阅读:

http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

提供了简单的解决方案(我不想在此重写它)...您可以从Windows命令提示符运行1行命令,也可以从Windows PowerShell运行1行命令。我只是从命令行运行它(确保以管理员身份打开命令行或PowerShell - 右键单击​​>以管理员身份运行。)

谢谢, Marty McGee

答案 2 :(得分:1)

您可以尝试将多个进程作为应用程序池运行:

  • 打开IIS
  • 单击“应用程序池”
  • 右键单击应用的应用池 并单击“高级设置”
  • 找到 “最大工人流程”并更新 它到3(或进程数 你想允许跑步。)

答案 3 :(得分:0)

我知道操作系统运行的是IIS 7.5,这可能不适用于他,但我发布的内容可能会帮助其他人运行IIS Express 8.0。我遇到了同样的问题,并且IPv6或主机文件更改都没有为我工作。在点击F5以刷新localhost上的js更改之后,我的asp.net MVC4项目非常慢。它发生在所有浏览器上 - Chrome,FF和IE。最终我发现IIS Express 8.0在提供js文件时非常慢,似乎是一个bug。如果我在命令行上运行iisexpress并点击F5,我可以看到每个js文件需要4或5秒才能加载。

我最终卸载了IIS 8.0并安装了IIS Express 7.5并立即解决了问题。以下是我遵循的步骤:

  • 卸载IIS express 8.0
  • 删除IISExpress文件夹(在Win 7中,在My Documents \ IISExpress中)
  • 安装IIS Express 7.5(Link to IIS Express 7.5 download

IIS Express 8.0似乎与VS 2012一起安装,因此如果您有新的安装或可能的Service Pack更新,这可能会升级以前的IIS Express版本。