0

わかりました、ここに行きます。運用サーバーの 1 つでパフォーマンスの問題が発生したため、dottrace プロファイラーを使用して何が起こっているかを確認するように依頼されました。私がプロファイリングしているプロジェクトは、IIS で実行されている多くの WCF サービスを含むアプリケーションです。これはかなり複雑なプロジェクトで、複数のアセンブリで構成されています。プロジェクト全体を通して、Ninject は DI コンテナーとして使用されます。

開発サーバーでアプリケーションのプロファイリングを数回試みて、期待どおりに動作していることを確認しました。

本番サーバーのプロファイリングを開始したところ (w3wp で詳細レベルとしてトレースを使用)、すぐにサーバーのパフォーマンスが低下し、非常に遅く応答しなくなりました。プロファイラーにパフォーマンスの問題があることは知っていましたが、サーバーをほぼ停止させるとは思いもしませんでした (開発サーバーでは問題はありませんでした)。

ですから、その恐ろしい経験の後、非常に混乱しました。dottrace は実際に本番サーバーをほぼ完全に停止しますか? なぜ?

プロファイリングの結果は少なくとも混乱を招くものであり、それらをどうすればよいかわかりません。ここではninjectが問題のように思えますが、これは本当にそれですか、それともdottraceプロファイラーが私と一緒に遊んでいるのでしょうか?

どんな入力も高く評価されます! 以下はdottraceの結果です

http://i.stack.imgur.com/vVvlM.png

アップデート:

わかりました、ホットスポットを拡張しました。ほとんどが WCF 呼び出しのようです。しかし、なぜそれらは ninject リゾルバーの下に表示されるのでしょうか?

これからはサンプリングを使用しますが、本番サーバーでより穏やかになることを願っています.

http://i.stack.imgur.com/c2tzL.png

4

1 に答える 1