标签: dottrace

为什么dotTRACE Memory总是说"正在连接"?

我正在尝试使用JetBrains dotTRACE Memory分析IIS托管的WCF Web应用程序的内存使用情况.

在过去,我已经在同一个Web应用程序上成功使用了dotTRACE Performance,一切都运行良好,但我无法启动dotTRACE Memory.

当我尝试启动内存跟踪时,我得到的是:

在此输入图像描述

搜索JetBrains的(通常很好的)支持文档没有发现任何结果.

有任何想法吗?

服务器:Windows 2008 R2(64位)
IIS:7.0
dotTRACE内存:3.5.360(截至今日的最新版本)

我想要提供的应用程序位于通过Active Directory帐户登录的专用应用程序池中.

wcf iis-7 dottrace

14
推荐指数
1
解决办法
3185
查看次数

C#Web应用程序调优:PerformWaitCallback

我使用dotTrace Performance 4.5来分析.NET 3.5 C#Web应用程序.当我记录一个"用户请求"(页面加载)时,我看到11个线程具有大致相同的时序,7644毫秒.

  • 大多数线程描述仅包含: 100%[本机或优化代码] - 7644 ms
  • 一说: 100%Microsoft.VisualStudio.WebServer.WebServerApp.Main(String[])
  • 最后一条是:
    • 86% System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object)
    • 14%PerformWaitCallback(1094毫秒)>> 12%=ProcessRequest

你能告诉我吗:

  • 为什么有那么多线程?(图片资源,AJAX,JavaScript)
  • 什么是PerformWaitCallback
  • 为什么7644毫秒只有1094毫秒的工作?

c# asp.net profile profiling dottrace

13
推荐指数
1
解决办法
2471
查看次数

JetBrains DotTrace按钮变灰

我正在尝试在本地计算机上配置.NET C#Web应用程序.为此,我在Visual Studio 2013中加载了解决方案,并从Visual Studio主菜单中选择了dotTrace - > Profile Startup Project.

这会激活dotTrace,但是当服务启动时,我不能使用任何dotTrace按钮,它们都会变灰.见下文:

在此输入图像描述

我的应用程序在IIS Express下运行http://localhost:49824.我正在使用dotTrace 5.5.2和Visual Studio 2013.任何人都知道为什么我无法分析我的应用程序?

.net profiling dottrace

8
推荐指数
1
解决办法
626
查看次数

使用jetBrains dotTrace检测W3WP CPU问题

我们在生产服务器上的W3WP流程一直很高.它不会达到100%,但会跳到90%的公平位.为了帮助调查这一点,我使用JetBrains dotTrace描述了实时应用程序.

结果如预期.所有慢速方法都是查询数据库的NHibernate函数.我的问题是,这些慢速方法是否会对我们的Web服务器上的CPU产生影响,因为我们的数据库服务器位于单独的计算机上.当然,如果数据库服务器正在做一些工作,那么Web服务器jsut等待响应,CPU不应该上升?

如果是这种情况,我如何使用dotTrace(或其他工具,如果需要)来计算CPU的使用位置,而不是等待来自其他地方的响应的服务器?

dotTrace热点截图 替代文字

您可以从屏幕截图中看到,大部分时间都花在等待外部HTTP请求完成上.但是,这些不应该影响我想到的Web服务器上的CPU使用率

asp.net iis nhibernate performance dottrace

7
推荐指数
1
解决办法
1706
查看次数

dotTrace Performance Profiler对[垃圾收集]的意义是什么?

[垃圾收集]在这张照片中意味着什么?和"20个电话"的事情?

我的意思是,我怎么能弄清楚为什么GC花了这么长时间?它收集了很多小物件吗?一个大的?关于如何优化这一点的任何提示?

有问题的代码是:

private void DeserializeFrom(SerializationInfo info)
{
    Width = info.GetInt32("width");
    Height = info.GetInt32("height");
    var data = (List<byte>)info.GetValue("cells", typeof(List<byte>));
    cells = new Cell[physicalSize.Width, physicalSize.Height];
    int pos = 0;
    for (int x = 0; x < physicalSize.Width; x++)
    {
        for (int y = 0; y < physicalSize.Height; y++)
        {
            cells[x, y] = new Cell();
            if (x < Width && y < Height)
            {
                cells[x, y].HasCar = data[pos];
                pos++;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

没什么太花哨的.我怀疑罪魁祸首是大List<byte>对象,但我认为收集一个单一的大对象应该是即时的(而不是收集一堆小对象).

.net optimization garbage-collection dottrace

6
推荐指数
1
解决办法
1028
查看次数

VS 2010 Ultimate与第三方实用程序

/sf/ask/19170091/,/sf/ask/10016191/HTTPS ://stackoverflow.com/questions/180939/net-must-have-development-tools,我发现一些软件工具是多重推荐的,比如Reshaper,dotTraceNDepend.

我使用Visual Studio 2010 Ultimate,它有一些功能,如代码覆盖率,分析和StyleCop等等,而且它非常昂贵.

作为VS 2010 Ultimate的用户,是否值得投资我提到的那些工具?或者,它们是否提供VS 2010 Ultimate已具有的类似功能?

resharper ndepend visual-studio-2010 dottrace

6
推荐指数
1
解决办法
952
查看次数

EF Performance:查询编译中的ComputeHashValue()

我们目前正在尝试优化实体框架查询的性能.特别是,我们寻找降低CPU使用率的方法.

使用dotTrace,我们分析了执行不同查询时CPU时间最多的成本.请参阅下面的快照: dotTrace调用树

此快照来自一个相当简单的查询,但它仍然显示哪个是最耗时的操作:GetExecutionPlan().进一步深入研究,可以看出,ComputeHashValue()方法使用了很多时间,该方法以递归方式为表达式树中的所有节点调用.

这篇博文说明了这一点

实体框架将遍历表达式树中的节点并创建一个哈希,该哈希将成为用于将其置于查询缓存中的密钥.

因此,似乎哈希值仅用作查询缓存的键.由于我们在查询中使用IEnumerable.Contains(),因此EF不会对它们进行处理(请参阅此MSDN文章(第3.2和4.1章).因此,我们禁用了查询计划缓存,如下所示:

var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
var objectSet = objectContext.CreateObjectSet<Customer>();
objectSet.EnablePlanCaching = false;
// use objectSet for queries..
Run Code Online (Sandbox Code Playgroud)

我们希望不再调用ComputeHashValue().但是,dotTrace显示的调用树没有任何变化,性能与启用查询计划缓存的性能完全相同.

在禁用查询计划缓存时,是否还需要ComputeHashValue()?

对于我们更复杂的查询,对ComputeHashValue()的所有调用占用查询执行所需的整个CPU时间的70%,因此避免这些调用(如果不需要)将大大影响我们的性能.

performance entity-framework dottrace

6
推荐指数
1
解决办法
411
查看次数

dotTrace - 我应该为桌面应用程序使用哪些分析设置?

使用dotTrace时,我必须选择一个分析模式和一个时间测量方法. 分析模式是:

  • 追踪
  • 逐行
  • 采样

时间测量方法是:

  • 壁挂时间(性能计数器)
  • 线程时间
  • 待机时间(CPU指令)

跟踪和逐行不能使用线程时间测量.但这仍然让我有七种不同的组合尝试.我现在已经十几次阅读了这些关于dotTrace的帮助页面了,而且我仍然没有比我开始知道选择哪一个更有见识.

我正在开发一个WPF应用程序,它可以读取Word文档,提取所有段落和样式,然后遍历提取的内容以选择文档部分.我正在尝试优化这个过程.(目前完成需要一个多小时,因此我试图在给定的时间内对其进行分析,而不是直到完成.)

哪种性能分析和时间测量类型会给我最好的结果?或者,如果答案是"它取决于",那么它依赖于什么?给定的分析模式或时间测量方法的优缺点是什么?

performance profiling dottrace

5
推荐指数
1
解决办法
2593
查看次数

我们可以在IntelliJ IDE中测量代码性能吗

我正在使用IntelliJ IDE进行Java应用程序开发。我想知道是否有一种方法可以从IntelliJ中计算出完成一个特定功能所花费的时间。任何链接或答案,如果可能的话,将受到高度赞赏。

谢谢

java intellij-idea dottrace

5
推荐指数
1
解决办法
5110
查看次数

使用DotTrace Performance时如何理解“本机代码或优化代码”中的性能问题

我在我的Web应用程序上使用DotTrace Performance(v 5.5.4)。我试图优化冷启动MVC 5应用程序后的页面加载时间。查看快照中的主线程,似乎大部分工作是在“本地或优化代码”中完成的。多数民众赞成似乎有点太笼统,并没有真正的帮助。这到底是什么意思,我该如何进一步深入研究?

在此处输入图片说明

注意:我在jetbrains论坛上找到了类似的帖子,但是那里似乎也没有任何解决方法。

profiling jetbrains-ide dottrace app-startup

5
推荐指数
1
解决办法
2132
查看次数