好的,这就去。由于我们的一台生产服务器上的性能问题,我被要求使用 dottrace 分析器来查看发生了什么。我正在分析的项目是一个在 IIS 中运行的具有大量 WCF 服务的应用程序。这是一个相当复杂的项目,由多个程序集组成。在整个项目中,Ninject 被用作 DI 容器。
我尝试在开发服务器上对应用程序进行几次分析,以确保它按预期工作,这似乎是这种情况。
我开始分析我们的生产服务器(在 w3wp 上使用跟踪作为详细级别),服务器的性能立即下降,变得非常缓慢且无响应。我知道探查器会有性能问题,但我不知道它几乎会杀死服务器(在开发服务器上没有问题)。
所以在那次可怕的经历之后很迷茫。Dit dottrace 真的几乎杀死了我们的生产服务器吗?为什么?
分析的结果至少同样令人困惑,我不知道该怎么做,对我来说似乎 ninject 是这里的问题,但这真的是它还是 dottrace 分析器在玩我?
任何输入都非常受欢迎!以下是 dottrace 的结果
http://i.stack.imgur.com/vVvlM.png
更新:
好的,我扩展了热点,似乎主要是 WCF 调用。但是为什么它们会出现在 ninject 解析器下呢?
从现在开始我将使用采样,并希望它在我们的生产服务器上更加温和。