.net 如何找出为什么我的本地主机站点需要这么长时间才能加载?

.net 如何找出为什么我的本地主机站点需要这么长时间才能加载?,.net,performance,visual-studio-2010,debugging,localhost,.net,Performance,Visual Studio 2010,Debugging,Localhost,我今天和昨天都注意到在本地主机上运行我的站点非常慢。我高度怀疑这是一个代码问题,因为当我把它放在我的现场网站上时,它运行得很快 比如说 关于本地主机调试模式(F5)的页面需要44秒 我的live站点上的同一页面需要2秒 本地主机上的同一页面但未处于调试模式(ctrl+F5)需要4秒 因此,我不确定我的调试器出了什么问题,但它会将站点拖慢到爬行状态 我有visual Studio 2010终极版 我认为这是因为一些插件(resharper、生产力工具等)。所以我卸载了我所有的插件 我试着制作一个新

我今天和昨天都注意到在本地主机上运行我的站点非常慢。我高度怀疑这是一个代码问题,因为当我把它放在我的现场网站上时,它运行得很快

比如说

关于本地主机调试模式(F5)的页面需要44秒

我的live站点上的同一页面需要2秒

本地主机上的同一页面但未处于调试模式(ctrl+F5)需要4秒

因此,我不确定我的调试器出了什么问题,但它会将站点拖慢到爬行状态

我有visual Studio 2010终极版

我认为这是因为一些插件(resharper、生产力工具等)。所以我卸载了我所有的插件

我试着制作一个新的asp.NETMVC3项目,它在调试模式下快速加载。我还把完全相同的代码放到另一台运行VS 2010 Ultimate的计算机上,加载速度很快


因此,我不确定下一步要做什么来进行测试。

这是一个暗中操作,因为我知道一个开发人员也有类似的问题


我们在项目中编辑了global.asax文件,它似乎清除了一些损坏的程序集。我建议您尝试清除GAC中为您的应用程序编译的DLL(您必须通过谷歌查找位置)

您正在调试的浏览器是什么

在Firefox3+(Win7)中运行我的站点时,我遇到了类似的问题


如果使用FireFox,请进入关于:config并将network.dns.disableIPv6设置为true,这就解决了。

几年前我也遇到过类似的问题

问题是DNS无法查找某些内容,并且在超时之前重试了几次(每次重试IIRC延迟15秒)


请尝试使用Wireshark进行检查。

这里不太详细,但是如果您有一个javascript密集型应用程序,并且您正在使用I/E作为默认浏览器进行调试,那么IDE确实需要将该javascript加载到调试器中。我可能建议使用Firebug的分析工具或YSlow来查看哪些文件是罪魁祸首


另外,(这可能与您的问题有关,也可能与您的问题无关),我发现了一种类似的情况,即我们的一些页面从未完全加载,并且似乎挂断了浏览器想要获取的最后一个资源。但是,点击“刷新”,页面将顺利加载。它是偶发的,在进行selenium web测试时会引起悲伤。我相信这可能与非法入境有关

不确定是否是这样,但不久前我在用ajax发出json请求时遇到了类似的问题。修复过程耗时近500毫秒,修复后只需10-20毫秒


这就成功了。

你回答了自己的问题

本地主机调试模式(F5)页面需要44秒

调试模式创建调试信息,换句话说,pdb文件。生成的DLL还包含指向这些调试信息符号的符号链接。DLL的大小更大。换句话说,它必须做更多的事情,因此需要时间。此外,代码没有针对性能进行优化

如果您的本地Web服务器尚未启动,则需要额外的时间来启动、加载程序集、执行JIT并显示您的应用程序

本地主机上但未处于调试模式(ctrl+F5)的同一页需要4秒钟

这一次,它是在没有调试信息的情况下构建的,因此大大减少了开销。您的Web服务器可能是在此时启动的,这进一步缩短了时间

我的live站点上的同一页面需要2秒钟

最后,您的实时站点很可能会有代码的发布版本(没有调试信息)。最有可能的是,服务器的马力(CPU/RAM/Cache)会比本地PC大得多。因此速度会提高

无论部署在何处,由于JIT编译,在第一次命中时总是会有延迟。在IIS设置后,您的实时站点也会显示此延迟(除非您使用的是IIS7和预热模块)


希望这有帮助

以防万一有人找到这个。我也有类似的问题。即使是基本的html页面,加载速度也非常慢


这是AVG Antivirus。

当我在Visual Studio 2015中将调试设置为“x86”而不是“任何CPU”时,调试模式下的站点加载时间从3分钟减少到35秒。只需从VisualStudio工具栏的下拉列表中选择“x86”即可完成此操作


我希望这对其他人有所帮助。

我不熟悉ASP,但PHP和MySQL的默认配置都是为了节省内存而设计的,速度可能非常慢。为了节省内存,它可能会以缓慢的方式执行某些操作,但在live站点上配置了更高的内存限制。@Abhi Beckert-当我运行调试器时,我的visual Studio会将CPU使用率从5%跳到100%,内存最多可达半GB。您检查了所有项目属性吗?类似于构建后事件的事情。看看“输出”窗口。这可能会给你一些线索,是否与环境或您的项目有关。因此,我必须在我的windows 7上找到GAC位置?我是否应该删除C:\windows\Microsoft.NET\assembly\GAC\U 32和C:\windows\Microsoft.NET\assembly\GAC\U MSIL中的所有内容?我应该删除GAC\U 32 abd GAC\MSIL文件夹@Paul Sullivan中的所有内容。因为面临同样的问题,是的,以前也有过。使所有AJAX内容暂停一秒钟。尝试解决方案,James先生,为我工作,希望对某人有所帮助。我同意这一点。也许他所需要做的就是在发布版中编译并重新测试。@Chief-那么,如果我把它放到另一台计算机上,在本地主机上调试,那么它的运行速度几乎和现场一样快,这是为什么呢?@chobo2:没有两台机器是相等的(即使你认为它们是一样的)。这听起来像是您的安装/计算机出现了问题,或者是您的计算机上运行的某些东西使其速度变慢(防病毒软件是主要的嫌疑犯)。我想说,在这两台机器上都使用hickthis()日志,并尝试查找机器上正在发生的额外进程或活动。