首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS 2010 Performance Explorer

VS 2010 Performance Explorer
EN

Stack Overflow用户
提问于 2011-03-31 05:56:11
回答 1查看 600关注 0票数 5

我开始探索VS2010中的性能分析器,很难找到它的用处。我意识到这很可能是因为我不熟悉这个工具。

我正在寻找的是一种识别最耗时的方法调用的方法。很多时候,它只会将ASP.NET方法识别为最糟糕的违规者,比如ProcessRequest等,而且很难将其范围缩小到耗时如此之长的实际方法。

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

如有任何建议,我们将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-04-06 03:10:04

我知道这是一个古老的问题,但我希望一些小贴士能对你或其他人有所帮助:

使用事件探查器启动的已暂停。

这允许你只分析你想要关注的单个页面,并减少应用程序启动、主页加载、导航到你想要分析的内容等带来的噪音。

  • 从菜单中选择分析>事件探查器>从事件探查器暂停的
  • 开始,然后在您的网站中导航到要立即分析
  • 的页面之前的位置。在VS2010中的profiler页面上,单击'Resume‘开始分析
  • 返回到您的网站,单击链接或按钮等加载要分析的页面<

>H111等待它加载,然后返回VS2010,单击'Stop Profiler几分钟您的配置文件摘要将加载。<代码>H214<代码>F215

使用“热路径”查找瓶颈

  • 加载配置文件摘要后,将当前视图更改为Call Tree
  • 单击'Expand Hot‘(带火焰图标的按钮)
  • 这将显示耗时最长的函数,以及之前的调用堆栈

解释data的

  • 第二列数字(‘经过的独占时间’)显示了在这个特定函数(方法等)上花费的时间(不包括它对其他函数的调用)倒数第二列(‘

  • ’)表示这个特定函数被调用了多少次。

  • 这两列的组合可能是瓶颈所在的重要线索。例如,

  • ,你可能会发现一个System.Linq.Queryable.something函数占用了很大一部分时间,并且被调用了10或100次……如果是这样的话,有可能改进你的代码来简化它,这样你就可以减少help...

  • Walking back树的总调用数,这将告诉你哪个函数激发了对这个瓶颈函数的调用,反过来,哪个函数调用了那个函数,依此类推。

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5492924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档