問題タブ [dottrace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - SNIReadSyncOverAsync パフォーマンスの問題
最近dot Trace profiler
、アプリケーションのボトルネックを見つけることがよくありました。
突然、より多くの時間がかかり、より多くのcpu
使用法が のリーダー メソッドSNINativeMethodWrapper.SNIReadSyncOverAsync()
によって呼び出されるほとんどの場所で、なぜより多くの時間がかかるのかわかりません。Execute
ADO.Net
同じクエリを実行すると、SQL server
非常に高速に実行されます。
- なぜもっと時間がかかるのか誰か知っていますか?
ADO.Net
この方法の代替手段は何ですか?
performance - 紛らわしい dottrace プロファイリング結果
わかりました、ここに行きます。運用サーバーの 1 つでパフォーマンスの問題が発生したため、dottrace プロファイラーを使用して何が起こっているかを確認するように依頼されました。私がプロファイリングしているプロジェクトは、IIS で実行されている多くの WCF サービスを含むアプリケーションです。これはかなり複雑なプロジェクトで、複数のアセンブリで構成されています。プロジェクト全体を通して、Ninject は DI コンテナーとして使用されます。
開発サーバーでアプリケーションのプロファイリングを数回試みて、期待どおりに動作していることを確認しました。
本番サーバーのプロファイリングを開始したところ (w3wp で詳細レベルとしてトレースを使用)、すぐにサーバーのパフォーマンスが低下し、非常に遅く応答しなくなりました。プロファイラーにパフォーマンスの問題があることは知っていましたが、サーバーをほぼ停止させるとは思いもしませんでした (開発サーバーでは問題はありませんでした)。
ですから、その恐ろしい経験の後、非常に混乱しました。dottrace は実際に本番サーバーをほぼ完全に停止しますか? なぜ?
プロファイリングの結果は少なくとも混乱を招くものであり、それらをどうすればよいかわかりません。ここではninjectが問題のように思えますが、これは本当にそれですか、それともdottraceプロファイラーが私と一緒に遊んでいるのでしょうか?
どんな入力も高く評価されます! 以下はdottraceの結果です
http://i.stack.imgur.com/vVvlM.png
アップデート:
わかりました、ホットスポットを拡張しました。ほとんどが WCF 呼び出しのようです。しかし、なぜそれらは ninject リゾルバーの下に表示されるのでしょうか?
これからはサンプリングを使用しますが、本番サーバーでより穏やかになることを願っています.
c# - TeamCity で DotTrace プロファイリング VSTest を構成する
DotTrace を使用して、TeamCity のテストをプロファイリングできます。ただし、この例は NUnit で動作しますが、私のテストは Visual Studio Tests で記述されています。テストを実行するときは、組み込みのテスト エンジン VSTest を使用しますが、DotTrace プロファイラー プラグインではそのようなオプションを使用できません。代わりに、テスト エンジンの実行可能ファイルのパスを指定する必要があります。
実行可能な VSTest.exe を見つけましたが、そのパスには "Microsoft SDKs\Windows Phone\v8.0\ExtensionSDKs" が含まれているため、当然ながら機能しません。その.exeファイルには実際には存在しないstart.batファイルが見つからないと言っています。
TeamCity が VSTest に使用する実行可能パスは何ですか?
次に、そのテスト エンジンを使用するようにパフォーマンス テストを構成できます。Visual Studio で実行した DotTrace を使用してテストを実行できることはわかっていますが、TeamCity プラグインがある場合、そこに Visual Studio と DotTrace プラグインをインストールしたくありません。
c# - Dottrace レポートを使用可能な形式にエクスポートする
dottrace レポートに基づいてテストを自動化し、コードのパフォーマンスが低下していないことを確認したいと考えています。問題は、形式が原因で dottrace レポートを使用できないことです。XML ファイルまたはレポートとして使用できるその他のものを取得する方が簡単です。
私に何ができるか考えていますか?
EDIT : dottrace 2018 では、このページを使用できます。
https://www.jetbrains.com/help/profiler/Performance_Profiling__Profiling_Using_the_Command_Line.html
.net - dotTrace ConsoleProfiler でスナップショットを収集するにはどうすればよいですか?
アプリケーションでdotTrace の ConsoleProfiler ( dotTrace doc ) を実行していますが、次のようなメッセージが表示され続けます。
「プロファイリングは 60.906 秒で正常に終了しました
スナップショットは収集されていません。」
私は何が欠けていますか?
コンソール出力:
dotTrace_Config.xml: