Performance 混乱的点跟踪分析结果

Performance 混乱的点跟踪分析结果,performance,profiling,ninject,dottrace,Performance,Profiling,Ninject,Dottrace,好了,开始吧。 由于我们其中一台生产服务器的性能问题,我被要求使用dottrace探查器查看发生了什么。 我正在分析的项目是一个在IIS中运行大量WCF服务的应用程序。这是一个相当复杂的项目,由多个程序集组成。整个项目都使用Ninject作为DI容器 我在一个开发服务器上尝试了几次分析应用程序,以确保它按预期工作,这似乎是正确的 我开始分析我们的生产服务器(在w3wp上使用跟踪作为详细级别),服务器的性能立即下降,变得非常缓慢和无响应。我知道分析器会有性能问题,但我不知道它几乎会杀死服务器(在d

好了,开始吧。 由于我们其中一台生产服务器的性能问题,我被要求使用dottrace探查器查看发生了什么。 我正在分析的项目是一个在IIS中运行大量WCF服务的应用程序。这是一个相当复杂的项目,由多个程序集组成。整个项目都使用Ninject作为DI容器

我在一个开发服务器上尝试了几次分析应用程序,以确保它按预期工作,这似乎是正确的

我开始分析我们的生产服务器(在w3wp上使用跟踪作为详细级别),服务器的性能立即下降,变得非常缓慢和无响应。我知道分析器会有性能问题,但我不知道它几乎会杀死服务器(在dev服务器上没有问题)

所以在经历了那次可怕的经历之后,我非常困惑。Dit dottrace真的会杀死我们的生产服务器吗?为什么?

分析的结果至少同样令人困惑,我不知道如何理解它们,对我来说,ninject似乎是这里的问题,但这是真的吗?还是dottrace分析程序在和我玩

任何输入都是高度赞赏的!下面是dottrace的结果

更新:

好的,我扩展了热点,似乎主要是WCF呼叫。但为什么它们出现在ninject解析器下

从现在起,我将使用采样,希望它对我们的生产服务器更温和


使用采样模式似乎效果更好。不幸的是,分析没有指出任何真正的瓶颈。

以“采样”模式对其进行分析。除此之外,“跟踪”模式会减慢已分析的应用程序的速度,它还可以为名为thouthands times的方法提供扭曲的结果。在您的情况下,Resolve方法被调用157 000次。另外,要查看花费的时间,请展开屏幕截图上的树