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

emz*_*ero 14 performance connection-pooling windows-7 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论坛上看过这篇文章.它说了一些关于Vista/7没有汇集连接的东西(只是为了让你知道,网站在本地运行,但它连接到托管在远程服务器上的SQL Server 2005).

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

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

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

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

emz*_*ero 5

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

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

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

  • 2)更改hosts文件中的localhost设置(所有浏览器)

我想到了一个想法,检查我在哪里以及如何干扰我的机器上的IPv6设置.我看到上面提到的消息来源之一的评论说,只需用url中的机器名替换localhost即可解决问题.

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

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

#::1             localhost
Run Code Online (Sandbox Code Playgroud)

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

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