Oracle Real-Time Decisionsには、インライン・サービスの動作を監視する堅牢なパフォーマンス監視システムが含まれています。パフォーマンス監視パラメータを設定すると、一部の共通カウンタのスナップショット・ビューをFusion Middleware Controlで監視できます。パフォーマンス監視を有効にすると、時系列のビューを表示できます。有効にすると、カンマ区切り(CSV)ファイルが生成され、これを使用して時間の経過に伴う動作を監視できます。
注意: このファイルのサイズは大きくなりすぎるため、アクティブなトラブルシューティングの場合以外は有効にしないでください。 |
この項には次のトピックが含まれます:
パフォーマンス監視パラメータは、SDManagementCluster→Members→Properties→PerformanceMonitoring MBeanを使用して設定します。このMBeanには、Fusion Middleware Controlを使用してアクセスできます。詳細は、第13章「Oracle Real-Time Decisionsの管理」を参照してください。
表11-1に、パフォーマンス監視を制御するプロパティについて説明します。
表11-1 パフォーマンス監視プロパティ
プロパティ名 | 説明 |
---|---|
DSPerfCounterEnabled |
DSパフォーマンス・カウンタの書込みを有効にします。ただし、ファイルのサイズが大きくなりすぎるため、このプロパティを有効にしたままにはしないでください。 |
DSPerfCounterAppend |
trueの場合、パフォーマンス・データが既存のファイル(存在する場合)に付加されます。そうでない場合、サーバーの再起動時に既存のファイルが上書きされます。 |
DSPerfCounterLogFile |
DSパフォーマンス・カウントが定期的に付加されるタブ区切りCSVファイル。MS Excelが利用可能な場合、インストールの |
DSPerfCounterLogInterval |
DSパフォーマンス・カウントの更新間隔(ミリ秒)。 |
一部のパフォーマンス・カウンタのスナップショットは、SDManagementCluster > Members > Decision Service MBeanで表示できます。値をリフレッシュする場合は、[F5]キーを押します。
この表示を使用する場合、パフォーマンス監視を有効にしておく必要はありません。
この項では、パフォーマンス・カウンタを含むCSVファイルのフィールドについて説明します。
表11-2 パフォーマンス・カウンタを含むCSVファイルのフィールド
フィールド名 | 説明 |
---|---|
Date/Time |
カウンタの現在の行がファイルに付加された時刻。ミリ秒単位の精度で、サーバーのログ・ファイル内のメッセージとの関係付けを容易にします。 |
Peak Requests Running |
サーバーの起動後に同時に実行されていたリクエストの最大数。 |
Max Requests Running |
現在のロギング期間中に同時に実行されていたリクエストの最大数。 |
Requests Running |
現在実行されているインライン・サービス・リクエストの数。この値は常に、「Max Allowable Running Requests」の値以下になります。 |
Requests Finished |
終了したインライン・サービス・リクエストの合計数。 |
Requests Seen, Total |
このサーバーに対するインライン・サービス・リクエストの合計数。 |
Requests In System |
このサーバーによって処理されているインライン・サービス・リクエストの現在数。この数には、実行されるまで待機しているリクエストと、すでに実行されているリクエストが含まれます。 |
Timed Out Requests, Total |
クラスタ全体のプロパティ「SDManagementCluster > Properties > Misc > IntegrationPointGuaranteedRequestTimeout」で指定されている、保証されるサービス・レベルのタイムアウトまでに実行を終了できなかったリクエストの合計数。 このカウントには、サーバーの起動後にタイムアウトしたリクエストがすべて含まれます。 この数が増えてもキューに入れられたリクエストの数が増えない場合、リクエストを処理しているインライン・サービスのロジックが、たとえアイドル状態のシステムであっても、レスポンス時間の保証を満足できないほど遅いことを示します。1つ以上の統合点リクエストを最適化するか、またはレスポンス時間の保証を増やす必要があります。 |
Timed Out Requests |
保証されるサービス・レベルまでに実行を終了できなかったリクエストの数。 |
Timed Out While Running, Total |
サーバーの起動後、実行は開始したが、レスポンス時間の保証の範囲内で終了しなかったことが認められるリクエストの合計数。 クライアントでは最近のレスポンスが無視されるため、これらのリクエストで消費される処理能力の大部分は無駄になります。システムが相当ビジーな状態の場合には、実行待機状態にあるリクエストがタイムアウトして、リクエストに対するリソースが無駄にならずにすみます。 |
Timed Out While Running |
現在のロギング期間の開始時に、実行は開始したが、レスポンス時間の保証の範囲内で終了しなかったことが認められるリクエストの数。 クライアントでは最近のレスポンスが無視されるため、これらのリクエストで消費される処理能力の大部分は無駄になります。システムが相当ビジーな状態の場合には、実行待機状態にあるリクエストがタイムアウトして、リクエストに対するリソースが無駄にならずにすみます。 |
Timed Out Requests Still Running |
実行を開始し、タイムアウトしても、引き続き実行されているリクエストの数。値がゼロ以外の場合は、1つ以上の統合点にプログラミング上の問題がある可能性があります。 |
Request Run Time, Average (ms) |
リクエストが実行された現在のロギング期間の平均時間(ミリ秒)。待機時間があれば除外されます。 |
Request Run Time, Max (ms) |
現在のロギング期間中に、単一のリクエストが実行された最大時間(ミリ秒)。待機時間があれば除外されます。 |
Run Times < [0.1 GRT] |
現在のロギング期間中に実行が終了し、その実行時間が、構成済の保証されたレスポンス時間の10%未満のリクエストの数。 同じように書式設定された列が9つあり、保証済のレスポンス時間の0.10倍、0.25倍、0.50倍、0.75倍、1.00倍、1.25倍、1.50倍および2.0倍に実行時間が区分されています。 |
Run Times < N and >= M |
現在のロギング期間中に実行が終了し、その実行時間がNミリ秒未満かつMミリ秒以上のリクエストの数。 |
Run Times >= [2.0 GRT] |
現在のロギング期間中に実行が終了し、その実行時間が、構成済の保証されたレスポンス時間の2倍以上のリクエストの数。 |
Request Wait Time, Average (ms) |
実行またはタイムアウトするまでにリクエストがリクエスト・キューで待機した平均時間(ミリ秒)。 |
Request Wait Time, Max (ms) |
現在のロギング期間中に、単一のリクエストがリクエスト・キューで待機した最大時間(ミリ秒)。 現在のロギング期間中に、実行を終了したか、または実行前にタイムアウトしたリクエストのみが含まれます。 |
Wait Times < [0.1 GRT] |
現在のロギング期間中に実行が終了し、実行までリクエスト・キューに置かれていたが、その待機時間が、構成済の保証されたレスポンス時間の10%未満のリクエストの数。 同じように書式設定された列が9つあり、保証済のレスポンス時間の0.10倍、0.25倍、0.50倍、0.75倍、1.00倍、1.25倍、1.50倍および2.0倍に待機時間が区分されています。 |
Wait Times < N and >= M |
現在のロギング期間中に実行が終了し、実行までにリクエスト・キューで待機した時間がNミリ秒未満かつMミリ秒以上のリクエストの数。 |
Wait Times >= [2.0 GRT] |
現在のロギング期間中に実行が終了し、タイムアウトするまでの待機時間が、構成済の保証されたレスポンス時間の2倍以上のリクエストの数。 |
Sessions, Current |
このサーバーでまだオープンしているデシジョン・サーバーのセッション数。 |
Sessions, Total |
このサーバーによって作成されたデシジョン・サーバーのセッションの合計数。 |
Stale Sessions Closed Asynchronously |
リクエストのスレッドではなく、カーネル・ジョブによってクローズされたデシジョン・サーバーのセッションの合計数。 通常、これは重要ではありません。ビジー・システムではほとんどの失効セッションがリクエスト・スレッドによって閉じられ、カーネル・ジョブはシステムが徐々に沈静化しているときにのみ関与します。これは、多数のカーネルジョブ・アクティビティを監視している場合に有用なことがあります(「Kernel Jobs Running, Current」を参照)。 |
Stale Sessions Closed by Requests |
タイムアウトし、リクエストのスレッドによってクローズされたデシジョン・サーバーのセッションの合計数。大半のセッションは、特にビジー状態のサーバーで、このようにクローズされます。 インライン・サービス・リクエストの処理後、コール側スレッドは、コール元に戻るまでに失効したセッションを多くとも1つクローズするように要求されます。 |
Requests Forwarded, Current |
このサーバーから他のサーバーに転送されたインライン・サービス・リクエストのうち、転送先サーバーによってリクエストが処理されたことを示す確認をまだ受信していないリクエストの合計数。 |
Requests Forwarded, Peak |
転送されたインライン・サービス・リクエストの最大数。 |
Requests Forwarded, Total |
転送されたインライン・サービス・リクエストの合計数。 |
Received Requests Forwarded, Current |
他のサーバーからこのサーバーに転送されたインライン・サービス・リクエストのうち、このサーバーでまだ完全に処理されていないリクエストの合計数。 |
Received Requests Forwarded, Peak |
受信した、転送されたインライン・サービス・リクエストの最大数。 |
Received Requests Forwarded, Total |
受信した、転送されたインライン・サービス・リクエストの合計数。 |
Remote Session Keys, Current |
他のサーバーによってホスティングされた参照セッションをこのサーバーが認識しているセッション・キーの現在数。リクエストがこれらのキーのいずれかとともに到着した場合、そのリクエストは他のサーバーに転送されます。 |
Remote Session Keys, Total |
他のサーバーによってホスティングされたセッションに対して、セッション・キーがこのサーバーに登録された合計回数。これは、「Remote Session Keys, Current」の集計です。 |
Kernel Jobs Running, Current |
サーバーで現在実行されているメンテナンス・アクティビティの数。メンテナンス・アクティビティには、モデルのメンテナンス、セッション時間の操作、およびタイムアウトしたリクエストの処理が含まれます。 |
Kernel Jobs Running, Peak |
このサーバーで同時に実行されたメンテナンス・アクティビティの最大数。この値は常に、次の値以下になります: クラスタ全体のプロパティ「SDManagement-Cluster > Properties > Misc > WorkerThreadPoolSize」、 または、サーバー固有のプロパティ「SDManagement-Cluster > Members > Properties > Misc > WorkerThreadPoolSize」。 |
Snapshot Period (ms) |
カウンタのこの行を記録するまでにサーバーがデータを収集した期間(ミリ秒)。 |
この項では、インストールのetc
ディレクトリに含まれているMicrosoft Excelファイルds_perf.xls
の内容について説明します。
先頭のセルB1には、データソースとしてds_perf.xls
をタブ区切りカウンタ・ファイルにリンクする方法を記述するコメントが含まれます。
「ds_perf.csvファイルのパスを指定するには、セルB2にカーソルを合わせて「データ」メニューから「外部データの取り込み」→「テキスト ファイルのインポートの編集」を選択し、{$install_directory}\log\ folderに移動してds_perf.csvファイルを選択します。要求されたらデフォルトの解析設定を使用します。データは、3 分おきに自動的にリフレッシュされます。間隔などの設定を変更するには、「データ」メニューから「外部データの取り込み」→「データ範囲プロパティ」を選択します」
第2行は、各カウンタの名前を含むヘッダーです。CSVファイルのヘッダーはすべて、値とともにその下に表示されます。
次の列は、CSVファイルの値の後に、CSVの値から計算された値を示す式とともに表示されます。
Gross Throughput (req/sec): 現在のロギング期間中に終了するリクエストの平均速度(リクエスト/秒)。計算式は次のとおりです。
RequestsFinished / SnapshotPeriod * 1000
Net Throughput (req/sec): タイムアウトしたリクエストを除き、現在のロギング期間中に終了するリクエストの平均速度。計算式は次のとおりです。
(RequestsFinished - Timeouts) / SnapshotPeriod * 1000
Oracle RTDでは、デフォルトで認証と認可が有効化されます。デシジョン・サーバーのパフォーマンスを高めるために、認証と認可を無効化できます。
Oracle RTDデシジョン・サーバーの認可を無効化するには、次の手順を実行します:
第2.1.1項「Fusion Middleware Controlへのログイン」の説明に従って、Fusion Middleware Controlにログインします。
「ターゲット・ナビゲーション・ペイン」で、「アプリケーション・デプロイメント」にあるOracleRTDサーバー・エントリを右クリックし、「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」で、「アプリケーション定義のMBean」まで下にスクロールしてOracleRTDを選択し、Oracle RTDがデプロイされているサーバー名を選択します。
SDClusterPropertyManagerを選択し、Clusterを選択します。
RequireIntegrationPointAuthorizationをfalseに設定します。
Webサービスでデシジョン・サーバーの認証を無効化できます。詳細は、『Oracle Fusion Middleware Platform Oracle Real-Time Decisionsプラットフォーム開発者ガイド』のWebサービスのセキュリティに関する項を参照してください。