0

アプリケーションのプロファイルを作成しました。基本的に、すべてのスレッドはネットワーク共有から XML ファイルを読み取り、オブジェクトを逆シリアル化し、ローカル ファイルにログを記録し、db に非同期的にログを記録し、Web サービスを呼び出します。スレッドの量は、24 コアのマシンで約 14 です。

Redgate プロファイラーは、マルチスレッド アプリケーションが同期を 70% 待機していることを示しています。これは警告信号ですか、それとも予想されることですか? さらに、そのようなプロファイラーのログを分析する方法についてアドバイスをいただける場合は、知識を共有してください。

プロファイラ ログ

コールグラフ

4

1 に答える 1

1

同期を待機するということは、別のスレッドが操作を完了するのを待っている間、スレッドが中断されることを意味します。これを気にする必要があるかどうかは、そのスレッドでの操作が完了するまでにかかると予想される時間によって異なります。

スタックが読み取り/書き込みを示している場合、たとえば、ディスクが遅いことを意味している可能性があります。コードを変更することで、それを最小限に抑えることができるかもしれません。不安定なネットワークまたはディスク ドライブである可能性があります。

于 2013-01-29T10:55:11.263 に答える