ビジネス ロジックによる解決策を設計する際に、考慮する必要がある各種状況を以下に示します。 記述された各状況は、計算エンジンのパフォーマンスが悪影響を受けるおそれがあるケースです。
パラメータの値がコード内で必要な場合、パラメータ値を割り当てるグローバル変数を作成することをお勧めします。 また、パラメータの値が必要な場合は、代わりにグローバル変数を必ず使用してください。 これにより、エンジンがパラメータの呼び出しごとにパラメータ マップを作成する状況がなくなります。
クラスタ化メトリック用のビジネス ロジック内の大規模なグローバル マップ オブジェクトは、慎重に検討した後で使用してください。 エンジンでクラスタ化メトリックを計算している間、エンジンは前の状態からのグローバル変数をクラスタ内の項目ごとに別々に読み込むことでビジー状態になります。
Raw データ イベントは、登録メソッドのみによってフィルタすることをお勧めします。 「if」ステートメントを使用した内部フィルタリングをコード内に追加すると、処理時間が増加します。 さらに重要なことには、エンジンで不要な Raw データのレコードの取得および処理のために余分なオーバヘッドが必要になることです。
パフォーマンスが向上します。 この登録メソッドを使用することは、この特定のタイプのイベントを持つリソースだけでなく、システム内のすべてのリソースに対して登録することを意味します。 したがって、リソースのすべての変化はメトリックの計算に影響を与えます。 この登録メソッドの使用による別のデメリットは、このメソッドが Raw データにアクセスする際のメトリックの実行時に発生します。 この登録メソッドは、次に、Raw データから特定のイベント タイプのイベントのみをフィルタし、他のイベントを無視する必要があります。
Dispatcher.Register を使用する場合は、3 番目のパラメータを指定していることを必ず確認します。 3 番目のパラメータなしでの登録は、イベント タイプ(Dispatcher.RegisterByEventType)による登録を実行していることとまったく同じです。 つまり、最初の 2 つの隣に少なくとも 1 つの他のパラメータを使用していることを確認してください。
計算とドリルダウンのために必要なエージェントのみをオンにすることが重要です。 エージェントの時間単位のすべての計算は、プロセッサを大幅に使用します。
| Copyright © 2012 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |