我刚刚在台式机上安装了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将页面提供给页面时,延迟似乎就在某处浏览器。
答案 0 :(得分:5)
对于那些有同样问题的人,这里有两种可能的解决方案。
我发现的大多数作者都认为这种方法是最快捷,最干净的解决方案。您需要做的基本上是在Firefox中打开配置设置(about:config)并将network.dns.disableIPv6设置更改为true。
我想到了一个想法,即检查我的机器上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)
您可以尝试将多个进程作为应用程序池运行:
答案 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似乎与VS 2012一起安装,因此如果您有新的安装或可能的Service Pack更新,这可能会升级以前的IIS Express版本。