在“localhost”上运行网站非常缓慢。

68

我在使用本地主机测试网站时遇到了麻烦。它运行极其缓慢!有时需要长达一分钟才能加载一个页面。我正在使用Firefox浏览器,而我测试的网站在我办公室其他开发人员的本地机器/生产服务器上运行良好。

我已经进行了正常的操作:

  1. 禁用IPv6
  2. 不在调试模式下运行
  3. 将网站放在IIS 6的最高应用程序池(High Isolated)中。
  4. 关闭防火墙等。

问题似乎只会在访问包含某些形式的.NET代码的页面时出现。

虽然这个话题/建议有点模糊,但我希望得到任何形式的建议 - 每次刷新等待一分钟来尝试更改太可怕了!

谢谢,Sean。


你想查看什么类型的页面?例如,是VS2008项目吗? - Younes
你的DNS解析器出了点问题。作为一个非Windows专家,我无法确定具体是什么问题,但在Linux系统中,如果/etc/resolv.conf文件中缺少localhost,则会出现这种情况。Windows系统中也有类似的文件,位于System目录中。 - Andrew McGregor
7
LOL - 一分钟?我开始启动我的本地服务器,查看了所有的电子邮件,对最近在eBay上购买的所有物品进行了反馈,浏览了一会儿eBay,等不及本地服务器启动了,就在Google上搜索了“慢速本地服务器”,来到这里阅读了这篇帖子,提交了我的回复,但我的本地服务器仍然在尝试启动。 - user153923
1
刚想写同样的话@jp2code,本地主机要花很长时间。 - Love2Code
20个回答

53

我在PHP中遇到了同样的问题。像这里建议的那样,在数据库连接参数中将“localhost”更改为“127.0.0.1”,我解决了这个问题:https://serverfault.com/a/444338/62739。我认为这也可能适用于您,试试看吧。


1
使用Flask构建Python Web服务,在单元测试期间,每次查询之间都会看到大约1秒的时间。我正在使用http://localhost:5000。当我切换到http://127.0.0.1:5000时,问题完全消失了。我尝试从我的hosts文件中删除::1 localhost,但它没有改变任何东西。 - cod3monk3y
最终对我来说尝试从这里采用Mr. James解决方案起作用了,希望能帮助到其他人。 - Shaiju T
当我重新安装WordPress时,它可以工作,但是当我编辑wp.config.php时它就无法工作了。 - Abubakr Elghazawy
@grongor,我也是一样,只是将$ dbname从'localhost'更改为'127.0.0.1',就解决了速度慢的问题。有什么原因吗? - limestreetlab

17

分享我的解决方案... 我在浏览器中将URL从localhost:port更改为127.0.0.1:port,结果加载速度非常快


@finnTheHuman 我能想到的就是在将关键词翻译成相应的地址时需要一些时间...但我不确定。 - SoliQuiD
当然,这些都是拼凑出来的解决方案,而不是真正的解决方案。 - SoliQuiD

10

我曾经遇到相同的问题,编辑了我的hosts文件127.0.0.1 localhost,但没有注意到任何不同。

然后我在IIS面板中禁用了压缩并应用,问题似乎已经解决了。

IIS管理器 > 压缩 > 取消选中“启用动态内容压缩”和“启用静态内容压缩”。然后“应用”。


1
这似乎已经解决了我的问题,但我不知道为什么当FF打开这些选项时加载速度很快。无论如何,实际上,我在乎什么。我的开发站点现在加载非常快,即使在编译后也是如此。 - Ads

7

我曾经遇到同样的问题,IIS初始加载需要10分钟而不是通常的30秒。

我打开任务管理器查看运行的进程。结果发现当第一次访问IIS端点时,Windows Defender会将CPU使用率飙升至30%。我尝试排除我的/bin/文件夹,但没有起作用,所以我只是禁用了Windows Defender的实时保护,然后网站就在短短的30秒内加载出来了。


谢谢。你的回答给了我一个好的开始。我写了一篇博客文章,列出了所有必要的步骤,以便将刷新时间从约10分钟缩短到<5秒钟。http://www.mandeepjanjua.com/post/running-sites-on-localhost-are-painfully-slow - Mandeep Janjua

5

5

禁用防病毒软件,针对包含Web应用程序代码的文件夹。我个人使用Avast杀毒软件,禁用后发现性能有很大改善。


5
尝试启用“绕过本地地址的代理服务器”。这适用于所有已安装的浏览器(Firefox,Chrome等)。
  1. 通过单击“开始”按钮的图标来打开Internet Explorer。在搜索框中输入Internet Explorer,然后在结果列表中单击Internet Explorer。

  2. 单击“工具”按钮,然后单击“Internet选项”。

  3. 单击“连接”选项卡,然后单击“局域网设置”。

  4. 选择“使用代理服务器为您的LAN检查框”。

  5. 选择“绕过本地地址的代理服务器”


1
是的,这就是为什么我的“localhost”很慢 - IT人员清除了所有内容,以便它可以自动配置到域代理。绕过修复可以解决减速问题。 - Meirion Hughes
1
糟糕!我以为我已经做了这个更改 - 不是。现在要快速调试。 - JonV

3

针对使用Mac的用户。当你使用不同的主机名,比如test.local和test2.local时,请尝试将test.local更改为test.dev。我发现Mac OS X Lion控制了.local顶级域名。因此,当您将其更改为其他内容时,速度会更快。

当然,还可以像上面的建议一样,在hosts文件中关闭ipv6引用:
#::1 localhost

并在hosts文件中设置以下内容: 127.0.0.1 localhost

这样它就指向ipv4了。


2

我刚刚将我的 hosts 文件从这个改成了:

127.0.0.1       abc.com.au
127.0.0.1       def.com.au
127.0.0.1       hij.com.au

to

127.0.0.1       abc.com.au def.com.au hij.com.au

注意:连接的网站行不能超过几百个字符。

2
如果您使用的是.Net,则在Web.Config中关闭调试将极大地提高性能。
<compilation defaultLanguage="c#" debug="false" batch="false" targetFramework="4.0">

3
在本地安装中调试某些内容时,调试模式打开不应该是页面加载非常缓慢的原因。 - Nickvda
这完全没有道理,因为在IE和FF的调试模式下,同一网站加载得非常快。只有Chrome对我有问题。 - Ads

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接