IIS を使用する多くの組織では、各アプリケーション ドメインの .NET アプリケーション プールをリサイクルするために定期的に IIS サービスを再起動します。 IIS の再起動時は常に、各アプリケーション プール内でアプリケーションをインスツルメントするために .NET エージェントも呼び出されます。 この初期起動時間は、監視対象のアプリケーションとクラスの数、エージェント プロファイルの設定、およびカスタマイズした PDB が存在するかどうかによって異なります。
NativeProfiler を使用してインスツルメントされたエージェントのデフォルト設定では、エージェントとアプリケーション サーバが適切な時間で開始できるようになっています。 起動時のパフォーマンスを改善するために、いくつかのオプションの手順を実行できます。
.NET エージェントの起動時間を改善するには、以下のタスクを実行します。
デフォルトでは、監視対象のクラスが含まれていることが以前に検出されたディレクティブ グループのメモリ内キャッシュがエージェントによって作成されます。 ユーザが IIS を開始すると、エージェントは以前に検出したクラスのキャッシュを作成します。 アプリケーション コードが新しいクラスを監視するため、キャッシュは徐々に増加します。 デフォルトでは、メモリ内キャッシュは 最大で 5000 のクラス名を格納します。 キャッシュ サイズがこの制限に達すると、エージェントはキャッシュが一杯になったことを示すエントリを NativeProfiler ログ ファイルに記録します。
IntroscopeAgent.profile ファイル内の introscope.nativeprofiler.directivematching.cache.max.size プロパティを使用してキャッシュのサイズを増減させることができます。 キャッシュが 5000 を超えるクラス名を格納している場合、値を増加させることで起動時間が改善する場合があります。 ただし、値を増加させると、エージェントのメモリ オーバーヘッドが増加します。 プロパティ値を減少させると、エージェントのメモリ オーバーヘッドは減少します。 監視するクラスが 5000 に満たない場合や、多数のディレクティブ グループの監視を停止している場合は、値を減少させる方が適切である可能性があります。
同じグループ内のクラスに対して IdentifyInheritedAs ディレクティブを使用すると、エージェントが継承階層を最適に使用できるようになります。
|
Copyright © 2013 CA.
All rights reserved.
|
|