在“localhost”上运行站点非常慢
Posted
技术标签:
【中文标题】在“localhost”上运行站点非常慢【英文标题】:Running sites on "localhost" is extremely slow 【发布时间】:2011-01-24 02:02:13 【问题描述】:在使用我的本地主机测试站点时遇到了真正的麻烦。它运行非常缓慢!有时加载一个页面需要一分钟。我正在使用 Firefox,我正在测试的网站在我办公室的本地机器/生产服务器上的其他开发人员上运行良好。
我已经经历了正常的事情:-
-
禁用 IPv6
未在调试模式下运行
将网站放在 IIS 6 上最高的应用程序池(高隔离)中。
采取防火墙等
这个问题似乎只发生在点击代码隐藏中包含某种形式的 .net 代码的页面时。
感谢这有点模糊的主题/在黑暗中刺伤,但会感谢任何形式的建议 - 每次刷新都等待一分钟来尝试更改!
干杯,肖恩。
【问题讨论】:
您要查看什么样的页面?例如是 VS2008 项目吗? 您的 DNS 解析器出现问题。我不是 Windows 专家,我不能准确地说出什么,但在 Linux 机器上,如果 /etc/resolv.conf 中缺少 localhost,就会发生这种情况。 Windows 在系统目录的某处有一个类似的文件。 LOL - 1 分钟,对吧?我启动了我的 localhost,检查了我所有的电子邮件,提供了我最近在 eBay 上购买的所有商品的反馈,在 eBay 上浏览了一段时间,厌倦了等待 localhost 开始,google"slow localhost"
,来到这里,阅读这篇文章,提交我的回复,我的 localhost 仍在尝试启动。
正要写同样的@jp2code localhost 正在占用 FOREVER。
【参考方案1】:
我通过编辑位于phpmyadmin
文件夹中的config.inc.php
文件解决了这个问题:
专门将$cfg['Servers'][$i]['host'] = 'localhost'
改为$cfg['Servers'][$i]['host'] = '127.0.0.1'
【讨论】:
【参考方案2】:就我而言,最初发生了以下错误:
权限不足,无法读取配置文件
我使用建议的solution 修复了错误,并通过IIS Manager
重新启动了应用程序。原来的错误消失了,但应用程序需要永远加载。我再次将权限授予IIS_IUSRS
,但这次授予整个部署文件夹。在此之后,应用程序能够加载,但出现错误:
此配置部分不能用于此路径
使用solution 解决上述错误后,应用程序终于可以正常加载了。
【讨论】:
【参考方案3】:我遇到了同样的问题,IIS 初始加载最多需要 10 分钟,而不是通常的 30 秒。
我打开任务管理器查看正在运行的进程。事实证明,当第一次访问 IIS 端点时,Windows Defender 的 CPU 使用率会达到 30%。我尝试排除我的 /bin/ 文件夹,但没有奏效,所以我只是禁用了 Windows Defender 上的实时保护,瞧,该网站在 30 秒内加载完毕。
【讨论】:
谢谢。你的回答给了我一个好的开始。我写了一篇博文,列出了获得 mandeepjanjua.com/post/…【参考方案4】:这对我来说是因为该项目位于网络驱动器上。我将项目移至 C: 驱动器,一切顺利。
如果项目位于网络驱动器上,请尝试将其移动到本地 C: 驱动器并重试。
性能提升远远超出您对网络速度的预期。我猜 VS 在调试 ASP.NET MVC 应用程序时会不断访问这些文件。我在 IIS Express 上使用 VS 2017,ASP.NET MVC 调试,这对我有用。
我希望这会有所帮助。
【讨论】:
【参考方案5】:我刚刚更改了我的主机文件:
127.0.0.1 abc.com.au
127.0.0.1 def.com.au
127.0.0.1 hij.com.au
到
127.0.0.1 abc.com.au def.com.au hij.com.au
注意:连接的网站行不能超过几百个字符。
【讨论】:
【参考方案6】:运行进程监视器以查看正在消耗的资源(网络、文件、注册表、线程)并查看正在消耗的任何不必要的资源(远程 https、昂贵的文件读取)
我有类似的问题。当我运行进程监视器时,我发现我的融合日志已启用,因此在禁用融合日志 IIS Express 后,磁盘中有很多内容延迟了 dll 的加载。
【讨论】:
【参考方案7】:这个建议为我解决了这个问题。清除 C:\Users\username\AppData\Local\Microsoft\WebSiteCache 中的 WebSiteCache
http://blog.geocortex.com/2007/12/07/slow-visual-studio-performance-solved/
【讨论】:
【参考方案8】:只是分享我的解决方案...我将浏览器中的 url 从 localhost:port 更改为 127.0.0.1:port 这导致加载速度非常快
【讨论】:
@finnTheHuman 我所能想到的就是将关键字翻译到适当的地址时需要一些时间。我不确定 当然这些都是绝望的解决方案,不是真正的解决方案【参考方案9】:禁用 Web 应用程序代码所在文件夹的防病毒软件。就我而言,我观察到 Avast 防病毒软件有了很大的改进。
【讨论】:
【参考方案10】:尝试启用本地地址绕过代理服务器。这适用于所有已安装的浏览器(Firefox、Chrome 等)。
单击“开始”按钮打开 Internet Explorer 开始按钮。在搜索框中,键入 Internet Explorer,然后, 在结果列表中,点击 Internet Explorer。
单击“工具”按钮,然后单击“Internet 选项”。
单击“连接”选项卡,然后单击“LAN 设置”。
选中为 LAN 使用代理服务器复选框。
为本地地址选择绕过代理服务器
【讨论】:
是的;这就是为什么localhost
对我来说很慢 - IT 人员清除了所有这些,因此它会自动配置为域代理。绕过修复了减速问题。
轰隆隆!我以为我已经做出了这个改变——不。现在调试 licky-split。【参考方案11】:
我有同样的问题,编辑了我的主机文件 127.0.0.1 localhost,但没有发现任何区别。
然后我在 IIS 面板中禁用了压缩并应用,现在问题似乎得到了解决。
IIS 管理器 > 压缩 > 取消选中“启用动态内容压缩”并取消选中“启用静态内容压缩”。然后“应用”。
希望这会有所帮助!
问候, 杰夫
【讨论】:
这似乎为我修复了它,但我不明白为什么在打开这些选项的情况下快速加载 FF 时会出现这种情况。不管怎样,真的,我在乎什么。我的开发网站现在加载速度非常快,即使在编译之后也是如此。【参考方案12】:我正在使用Wamp Server、Windows 7 和一台功能强大的机器。
我的 Apache 配置为从端口 80 以外的其他端口运行。我也不是通过“localhost”访问我的本地站点,而是通过 dyn.com 映射到我的 IP 的主机名。我相信我正在使用与 80 不同的端口这一事实似乎使卡巴斯基的网络反病毒功能非常敏感(因为许多粗略的网站都使用不同的端口)并减慢速度
禁用它似乎已经解决了问题。
【讨论】:
【参考方案13】:我知道操作员使用的是旧版本的 IIS,这可能不适用于他,但我发布此内容可能对其他人有所帮助。我遇到了同样的问题,上述 IPv6 或主机文件更改均不适合我。按 F5 刷新本地主机上的 js 更改后,我的 asp.net MVC4 项目真的很慢。它发生在所有浏览器上——Chrome、FF 和 IE。最终我意识到我在本地运行 IIS Express 8.0,结果发现 8.0 在提供 js 文件时非常慢,而且似乎是一个错误。如果我在命令行上运行 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 一起安装,因此如果您有新安装或可能有服务包更新,这可能会升级以前的 IIS Express 版本。
【讨论】:
【参考方案14】:如果您使用 .Net,那么在您的 Web.Config 中关闭调试将无止境地提高性能。
<compilation defaultLanguage="c#" debug="false" batch="false" targetFramework="4.0">
【讨论】:
虽然在本地安装上调试你需要的东西。调试模式不应该是页面加载速度非常慢的原因。 这完全没有意义,因为同一个站点可以在调试模式下在 IE 和 FF 中超快速加载。只有 Chrome 对我来说有问题。【参考方案15】:如果您只是查看页面输出(不是调试代码),请转到 Web.Config 文件并将 debug 设置为 false。这会将加载时间从 >15 秒更改为
<system.web>
<compilation debug="false" strict="false" explicit="true" targetFramework="4.0" />
...
</system.web>
【讨论】:
【参考方案16】:我在使用 PHP 时遇到了同样的问题。我通过将数据库连接参数中的“localhost”更改为“127.0.0.1”来解决它,就像有人在这里建议的那样:https://serverfault.com/a/444338/62739。我想它也可能对你有用,试试看。
【讨论】:
使用 Flask 构建 Python Web 服务,并且在单元测试期间,查询之间始终保持约 1 秒。我正在使用http://localhost:5000
。当我切换到http://127.0.0.1:5000
时,问题完全消失了。我尝试从我的主机文件中删除 ::1 localhost
,但它没有改变任何东西。
终于让我尝试Mr. James
solution from here 成功了,希望对某人有所帮助。
当我重新安装 wordpress 时它可以工作,但当我编辑 wp.config,php 时它不起作用
@grongor,对我来说也一样,只是将 $dbname 从 'localhost' 更改为 '127.0.0.1',然后缓慢消失了。知道为什么吗?【参考方案17】:
对于使用 mac 的人。当您使用不同的主机名时,请说 test.local 和 test2.local。尝试将 test.local 更改为 test.dev。我发现 Mac OS X lion 控制着 .local tld。因此,当您将其更改为其他内容时,它会更快。
当然也可以使用上面的建议,比如在你的 hosts 文件中关闭 ipv6 引用: #::1 本地主机
并在主机文件中设置: 127.0.0.1 本地主机
所以它指向 ipv4。
【讨论】:
【参考方案18】:在构建您的项目后,网站需要一些时间来浏览新的 dll :)。 重建后加载网页需要一些时间是正常的。仅在例如 javascript 中更改某些内容时不应发生这种情况。
【讨论】:
@Younes,话虽如此,在本地主机上编译首次运行不应该花费一分钟。 @seanxe; /bin 目录中有任何 .dll 文件吗? .NET 框架之外的任何 Web 引用或引用?最后,任何循环代码或任何讨厌的地方?您可以发布有问题的代码隐藏吗? 它可以像 Response.Write(DateTime.Now.ToLongDateString()); 这样简单。项目中没有 dll,只是与数据库进行标准对话以检索数据。我不是从 VS2008 构建的,因为这也需要很长时间,我只是将我的主目录设置为 IIS 上的项目并浏览到 localhost。 @Andrew McGregor - 检查了我的主机文件,本地主机(127.0.0.1)在那里很好。 抱歉,我无法再为您提供帮助了。我只知道使用vs2008和重建后的dll需要很长时间才能加载您的网站。以上是关于在“localhost”上运行站点非常慢的主要内容,如果未能解决你的问题,请参考以下文章
经典的 asp 站点在 IIS 服务器 10 上运行非常缓慢
Javascript 不能在 localhost 上运行,但它可以在 Live 站点上运行