.NET Webアプリケーションの負荷テスト中にパフォーマンスカウンターを監視しているときに、「RTチェックの%時間」と呼ばれるカウンターのデフォルトのクリティカルしきい値である10を常に超えていました。
ランタイムチェックに多くの時間を費やすのはなぜ悪いのですか?
これは私たちのアプリケーションについて何を言うでしょうか?これをどのように改善する必要がありますか?
.NET Webアプリケーションの負荷テスト中にパフォーマンスカウンターを監視しているときに、「RTチェックの%時間」と呼ばれるカウンターのデフォルトのクリティカルしきい値である10を常に超えていました。
ランタイムチェックに多くの時間を費やすのはなぜ悪いのですか?
これは私たちのアプリケーションについて何を言うでしょうか?これをどのように改善する必要がありますか?
このしきい値は、必ずしもパフォーマンスが悪いことを示しているわけではありません(他に何をしているかによっては、処理時間の10%はそれほど多くない場合があります!)。
別の関連するカウンター、「合計ランタイムチェック」があります。このカウンターは、ランタイムチェックの実際の数を表示します(ここに記載されています)。そのカウンターの値が低い場合は、問題がない可能性があります。それが高い場合(またはアプリの特定のポイントで急速に増加する場合)、調査する価値のある問題がある可能性があります。
これらの「ランタイムチェック」は、コードがランタイムから特定のCAS権限を要求したときに行われるコードアクセスセキュリティチェックです。コードが複雑であるか、限られた信頼の下で実行されている場合は、多くのリクエストを行っており、これらを最適化するためにコードを再構築できる可能性があります。ただし、これは必ずしも単純な最適化ではないため、深く検討する前に、これが問題であることを確認してください。