Firefox和Chrome在localhost上运行缓慢;已知的修复程序在Windows 7上不起作用

时间:2009-11-13 01:31:19

标签: firefox google-chrome performance localhost

启用IP6时,已知Firefox和Chrome在localhost上运行缓慢。在以前版本的Windows中,最简单的解决方法是从hosts文件中注释掉这一行,如the answer to this question中所述。

::1 localhost

但是,as noted in this question,在Windows 7中,此行已被注释掉:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1 localhost
#   ::1 localhost

是否有另一种方法可以禁用Windows 7中的::1 localhost引用?

9 个答案:

答案 0 :(得分:61)

如果您取消注释hosts文件中的127.0.0.1行,Chrome会在localhost网址上返回其snappy self。

# localhost name resolution is handled within DNS itself.
    127.0.0.1 localhost

主机文件通常位于C:\WINDOWS\system32\drivers\etc\hosts。要在Win7中编辑它,您需要以管理员身份运行记事本。

答案 1 :(得分:22)

事实证明,缓慢是由DNS的IPv6问题引起的,并且可以通过在执行localhost测试时关闭Firefox中的IPv6支持来轻松​​解决。要进行更改,请键入

about:config 

在地址栏中找到

network.dns.disableIPv6

设置并双击它以将其设置为true。这就解决了Vista上的Firefox localhost问题,一切都在快速运行。

http://kb.mozillazine.org/Network.dns.disableIPv6包含您可能需要的所有信息 - 祝您好运!

答案 2 :(得分:4)

我遇到了一个奇怪的问题,我的本地域名只有一个很慢,而其他所有域名都很好。无法找出原因并最终将::1 localhost放在我的另一个::1 something.local下方的底部,它立即被清除,之前我把它放在其他条目之上。 (我正在运行OS X 10.8.3)

我的最终主持人文件看起来像这样:

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 something.local
::1 something2.local
::1 something3.local
::1 localhost
fe80::1%lo0 localhost

答案 3 :(得分:2)

我会做Tim Schneider所说的。詹姆斯在这里也提到了: http://theycallmemrjames.blogspot.com/2010/09/firefox-is-really-slow-testing-sites-on.html

“双击ipv4OnlyDomains,然后输入localhost”

答案 4 :(得分:0)

正如其他人在一个不同的答案中所指出的那样 - 如果你有bitdefender,那么这将很快破坏你的开发经验。

最好打开防守控制台,输入alt-shift-control-g(将其置于“游戏模式”)并从那里运行。

在游戏模式中,bitdefender不会哄骗你的本地主机!

答案 5 :(得分:0)

这不是一个直接的答案,但我遇到了同样的问题,上述IPv6或主机文件更改都没有为我工作。在点击F5以刷新localhost上的js更改之后,我的asp.net MVC4项目非常慢。它发生在所有浏览器上 - Chrome,FF和IE。最终我发现IIS Express 8.0已经安装而没有我意识到,并且事实证明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版本。

答案 6 :(得分:0)

我在主机中有几个条目(因为我正在运行虚拟服务器)。以前我有

127.0.0.1        localhost
127.0.0.2      i.localhost
127.0.0.3 secure.localhost

似乎效果更好但不完美的是this

127.0.0.1 localhost secure.localhost i.localhost

我建议关闭浏览器,关闭Apache,在测试时以相反的顺序重新启动。

到目前为止,没有一个修复程序对我有用。 问题仍然是间歇性的。 ..

然而,我注意到了一些有趣的东西,并且认为我希望别人可以加入这个。

如果您关闭WiFi (即关闭外部互联网源),例如,Chrome,FireFox和其他可能同时打开的浏览器,以及Chrome如果窒息一个页面,你得到旋转针轮,你尝试在那一刻也从另一个浏览器加载一个文件,(从localhost)它也会挂起,直到chrome最终超时(或其他),最后几秒后结束,即使是简单的页面。

这也会在IE阻塞和阻止来自其他浏览器的访问时发生。我已经尝试了很多次,我确信有一些非常有趣的事情。

不同浏览器进程之间似乎存在链接。我讨厌这样说,但我怀疑Windows IP堆栈中有一个错误,听起来不可能。另一种可能性是chrome只是陷入困境或占用ip堆栈,或锁定某些文件,以便其他人无法使用它。

同样非常有趣的是,如果Chrome被冻结,你重新启用WiFi,只要互联网连接,然后Chrome或IE完成,以及其他任何浏览器也被阻止。

如果你问我,那有点奇怪。如果您正在使用localhost,则不应与互联网进行任何互动。

我曾尝试使用WireShark来查看正在发生的事情,但这令人困惑,到目前为止,我还无法确定所涉及的任何数据包。

有一些非常有趣的事情发生了。

我删除了我的.htaccess,并在其中放置了一个httpd.conf,其默认值的变化非常小。

我正在运行Win7x64Pro,Apache 2.4.7。

顺便说一下,这不是一个php的东西。在这一点上我已经确定了。

锁定似乎发生在^ R(页面重新加载)上,而不是浏览到页面,以及其他页面组件需要检查当前的情况,如菜单精灵(图像)。这将是304状态(使用HttpFox查看这些)。

此外,如果您快速重新加载同一页面,它的工作机会要高得多。如果你等一下,那么它经常会再次嘎嘎作响。我怀疑chrome正在从短期的cashe中获得结果,这部分掩盖了一个更深层次的问题。

答案 7 :(得分:0)

答案有点迟,但我尝试了上述所有内容,但在Windows 7上我仍然很慢。当我使用localhost时,页面加载花了大约20多秒。

Firefox改进了@Mark Mayo的答案,但并非总是如此,Chrome仍然很慢。

我找到了解决方案here

基本上,我在Apache httpd.conf文件中添加了以下行(因为它们不存在)

AcceptFilter http none 
AcceptFilter https none 
EnableSendfile off 
EnableMMAP off

同时测试了Chrome和Firefox,页面立即加载

答案 8 :(得分:0)

试试"隐身" Chrome和"私人模式"模式在Firefox上。

我知道这不应该是正确的答案。但您可以将此作为临时解决方案。