gpt4 book ai didi

.net - VS 2010 性能资源管理器

转载 作者:行者123 更新时间:2023-12-04 21:24:43 24 4
gpt4 key购买 nike

我开始在 VS 2010 中探索性能分析器,但很难发现它有用。我意识到这很可能是因为我不熟悉该工具。

我正在寻找的是一种识别最耗时的方法调用的方法。很多时候,它只会将 ASP.NET 方法识别为最严重的违规者,例如 ProcessRequest 等,并且很难将其缩小到需要这么长时间的实际方法。

我只想确定我的代码中执行时间最长的调用。

任何指针将不胜感激。
谢谢!

最佳答案

我知道这是一个老问题,但我希望有一些提示可以帮助您或其他人:

从 Profiler 开始暂停。

这允许您只分析您想要关注的单个页面,并消除来自应用程序启动、主页加载、导航到您想要分析的内容等的干扰。

  • 从菜单中,选择分析 > 探查器 > 从探查器暂停开始
  • 然后在您的网站中导航到您要分析的页面之前的位置
  • 现在在 VS2010 的分析器页面上单击“恢复”开始分析
  • 回到您的网站,单击链接或按钮等加载您要配置的页面
  • 等待它加载,然后返回 VS2010,单击“停止分析”
  • 片刻之后,您的个人资料摘要将加载。

  • 使用“热路径”查找瓶颈
  • 加载配置文件摘要后,将当前 View 更改为调用树
  • 单击“扩展热路径”(带有火焰图标的按钮)
  • 这将显示最耗时的函数,以及导致它的调用堆栈

  • 解读数据
  • 第二列数字('Elapsed Exclusive Time')显示了在这个特定函数(方法等)上花费的时间,不包括它对其他函数的调用。
  • 倒数第二列(“调用次数”)表示该特定函数被调用的次数。
  • 这两列的组合可以作为瓶颈所在的重要线索。
  • 例如,您可能会发现 System.Linq.Queryable.[something] 函数占用了整个时间的很大一部分,并且被调用了 10 或 100 次......如果是这样,则可以优化您的代码以简化它让你减少总调用次数会有所帮助...
  • 回到树上会告诉你哪个函数引发了对这个瓶颈函数的调用,反过来,哪个函数调用了那个函数等等。

  • 从中您至少应该能够确定性能瓶颈在哪里,以及它们为什么会发生。通常,下一个挑战是想出一种更精细的方法来实现相同的结果,同时减少对耗时函数、数据库调用、IO 操作等的调用。

    我希望这对您或其他遇到此(常见)问题的人有所帮助。

    关于.net - VS 2010 性能资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492924/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com