この章の内容は次のとおりです。
この項の内容は次のとおりです。
SIPサーブレット・コンテナ・モニターMBean(SipServletContainerMonitor)は、システム・キューおよびSIPトランザクションの読取り専用の値を表示します。SIPサーブレット・コンテナが異常な状態に入った場合に、この値からパフォーマンスを評価することができます。これらの値はシステム・チューニングの参考情報として利用できます。
ここでは、SIPサーブレット・コンテナ・モニターの属性について説明します。
表6-1に、SIPサーブレット・コンテナの現在のステータスを表示する属性を示します。
SipServletContainerMonitor MBeanのSipSummaryTotalTransactions属性には、トランザクション(現在のトランザクションと完了したトランザクションの両方)の総数が、読取り専用の値として表示されます。MBeanは、SIPサーブレット・コンテナが受信したリクエストの総数と、それに後続する、送受信したレスポンスの総数を表示することによって、トランザクションの状況を詳しく示します。
リクエストとレスポンスの総数
SipSummaryInRequests属性には、SIPサーブレット・コンテナが受信したリクエストの総数が表示されます。この属性の他、SipServletContainerMonitorは、各トランザクションを構成するレスポンスについて、SIPサーブレット・コンテナが送受信したSIPレスポンス・メッセージの総数(それぞれSipSummaryInResponsesとSipSummaryOutResponses属性)、および暫定メッセージ(ステータス・コード1xx)から最終メッセージ(ステータス・コード200〜600)へのメッセージの総数を、読取り専用の値として表示します。SipServletContainerMonitorには、OCMSがサポートする各メッセージ・カテゴリについて、SIPレスポンスの総数が表示されます(表6-2)。レスポンス・コードの詳細は、RFC 3261とRFC 3265を参照してください。
表6-2 OCMSがサポートしているSIPレスポンス・メッセージ
ステータス・コード | 理由を表す語句 | 関連属性 |
---|---|---|
1xx |
|
1xx関連の属性: |
2xx |
|
2xx関連の属性: |
3xx |
|
3xx関連の属性: |
4xx |
|
4xx関連の属性: |
5xx |
|
5xx関連の属性: |
6xx |
|
6xx関連の属性: |
NA |
|
非SIPレスポンス関連の属性: |
暫定レスポンス・メッセージ
RFC 3261で説明されているとおり、1xx SIPレスポンス・メッセージは、情報レスポンスか暫定レスポンスを示しており、サーバーが、最終レスポンスの取得が200ミリ秒を超えると予期した場合に送信されます。SipStatsInfoClassInsは、transmissionなどのSIPサーブレット・コンテナが受信した1xxレスポンスの総数を示しています。SipStatsInfoClassOuts属性は、SIPサーブレット・コンテナが送信、リレーあるいは再送信したメッセージの数を表します。
成功メッセージ
SipStatsSuccessClassOutsおよびSipStatsSuccessClassInsは、それぞれSIPサーブレット・コンテナが送受信した200(OK)レスポンス・メッセージまたは202(確定済)レスポンス・メッセージの総数を表します。
リダイレクション・レスポンス・メッセージ
3xxレスポンスは、ユーザーの新しい場所、またはコールを満たせる可能性がある代替サービスに関する情報を提供します。SipStatesRedirClassIns属性は、SIPサーブレット・コンテナが受信した(および再送信を受けた)3xxレスポンスの総数を表します。SipStatsInfoClassOuts属性は、SIPサーブレット・コンテナが送信(または再送信)した3xxレスポンスの総数を表します。
クライアント・エラー・レスポンス
4xxレスポンス・メッセージは、サーバーが発行する障害レスポンスです。4xxレスポンス・メッセージを受信したクライアントがリクエストを変更しないで再送信しようと試みることは不適切です。SipStatsReqFailClassIns属性は、SIPサーブレット・コンテナが受信した(または再送信を受けた)クライアント・エラーの総数を表します。SipStatsReqFailClassOuts属性は、SIPサーブレット・コンテナが送信(または再送信)したクライアント・エラー・メッセージの総数を表します。
サーバー障害レスポンス
SIPサーブレット・コンテナは次のエラー・メッセージを送信します。
500 Server Internal Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server Time-out
505 Version Not Supported
513 Message Too Large
SipStatsServerFailClassIns属性は、SIPサーブレット・コンテナが受信した(または再送信を受けた)5xxレスポンス・メッセージの総数を表します。SipStatsServerFailClassOuts属性は、SIPサーブレット・コンテナが送信(または再送信)した5xxレスポンス・メッセージの総数を表します。
SipStatsServerFailClassOuts属性は、SIPサーブレット・コンテナが送信した5xxレスポンス・メッセージをすべて表しますが、503ResponseSent属性は、SIPサーブレット・コンテナが送信した503(サービス使用不可)レスポンスの総数を表します。
グローバル障害メッセージ
6xxレスポンスは、ユーザー固有の情報(リクエストURIで示されたインスタンスに固有の情報ではなく)を提供します。SiSipStatsGlobalFailClassInsは、SIPサーブレット・コンテナが受信した(または再送信を受けた)6xxレスポンス・メッセージの総数を表します。SipStatsGlobalFailClassOuts属性は、SIPサーブレット・コンテナが送信(またはリレー)した6xxレスポンスの総数を表します。
非SIPレスポンス・コード
SipStatsOtherClassesInsおよびSipStatsOtherClassesOutsは、非SIPレスポンス・メッセージ(OCMSがサポートする、1xx、2xx、3xx、4xx、5xxおよび6xx以外のレスポンス・コード)を表します。SiSipStatsOtherClassesIns属性は、SIPサーブレット・コンテナが受信した(または再送信を受けた)非SIPレスポンス・メッセージの総数を表します。SipStatsClassesOuts属性は、SIPサーブレット・コンテナが送信(またはリレー)した非SIPレスポンス・メッセージの総数を表します。
このSipServletContainerMontiorの属性を使用すると、アプリケーション・キューとネットワーク・キューの現在、ピーク時および合計の使用状況、およびSIPセッションの現在の数と総数を表示できます。この読取り専用の値は、オーバーロード・ポリシーMBeanを使用してオーバーロード保護をチューニングするときの参考情報として利用できます。特に、ApplicationPeakQueue、NetworkPeakQueue、Sessionsの値は、オーバーロード・ポリシーの属性AppQueueMaxSize、StackQueueMaxSizeおよびSipSessionTableMaxSizeの値を評価するために使用できます。
一般に、オーバーロード保護は通常の負荷状況では起動されません。このMbeanを使用して、オーバーロード保護を実行しない様々なテスト・シナリオに対するシステムのレスポンスをモニターすることで、通常の負荷の値を明らかにします。その後、これらの値より上で開始するようにオーバーロード保護を設定できます。「システム・チューニングのためのオーバーロード保護の解除」も参照してください。
注意: 送信された503レスポンスの数と削除されたメッセージの数(それぞれ、503ResponseSent属性とMessagesDropped属性で示されます)は、着信トラフィックを減らすためにオーバーロード保護を実行する必要のある頻度を示します。 |
OCMSでは、SIPサーブレット・コンテナで利用できるカウンタ(「SIPサーブレット・コンテナ・モニター」を参照)の他に、デプロイされた各SIPアプリケーションの読取り専用の値として表示するカウンタ(表6-3のリスト)によってアプリケーションのパフォーマンスを評価できます。これらのカウンタでは、カウンタ値と範囲値(current、highおよびlow)の両方が次のJSR-77インタフェースの実装であるメトリックが提供されます。
javax.management.j2ee.statistics.RangeStatistic
javax.management.j2ee.statistics.CountStatistic
表6-3 アプリケーション・カウンタ
属性 | 説明 |
---|---|
SipSessions |
現在のSIPセッションの数。これはrange統計です。 |
SipApplicationSessions |
SIPセッションの総数。これはrange統計です。 |
OutResponse |
アプリケーションから送信されたレスポンスの総数。 |
OutRequest |
SIPアプリケーションのセッションの総数。 |
TotalSipApplicationSessions |
作成されたSIPアプリケーションの総数。 |
TotalSipSessions |
作成されたSIPセッションの総数。 |
InResponse |
アプリケーションで受信したレスポンスの数。 |
InRequest |
アプリケーションで受信したリクエストの数。 |
メモリー・モニターは、オーバーロード・ポリシーにメモリーの使用量を報告します。メモリー・モニターは、指定された間隔またはランダムな間隔で、ランタイム環境からメモリーのステータスをポーリングします。メモリー・モニターMBeanに含まれる属性を使用すると、ポーリング間隔の種類およびポーリング間隔の長さを選択できます。表6-4は、メモリー・モニターMBeanの属性のリストです。
表6-4 メモリー・モニターMBeanの属性
属性 | 説明 |
---|---|
AutoStart |
trueを選択すると、SIPコンテナの起動時にメモリー・モニターがアクティブになります。 |
PollingInterval |
ランタイム環境のメモリー・ステータスをメモリー・モニターがポーリングする間隔を入力します(秒単位)。この属性は、固定間隔のポーリングを設定します。この値は5(秒)以上にする必要があります。デフォルト値は5です。 |
RandomInterval |
trueを選択すると、メモリー・モニターはランダムな間隔でポーリングを行います。間隔の平均の長さはPollingInterval属性に設定されている値と同じですが、個別のポーリング間隔は固定間隔と50%異なる場合があります。たとえば、ポーリング間隔が20秒に設定されている場合、ランダムな間隔は10〜30秒の範囲になります。デフォルトの設定はfalseです。 |
MemoryMonitorStatus |
メモリー・モニターの現在のステータスです。この値は読取り専用です。 |
MemoryUsage |
現在のメモリー使用量です。この値は読取り専用です。 |
SIPクラスタMBean(SipCluster)を使用すると、OC4Jクラスタで設定したデフォルト・タイムアウトを無効にすることができます。OCMSの高可用性はOC4Jクラスタに基づいています。このフレームワークはHTTPに基づいているため、ミリ秒でなく秒のオーダーである、レプリケーション用に設定された間隔は、SIPには不適切です。
注意: これらのタイマーに設定された値は、OCMSの高可用性に大きな影響をもたらす可能性があります。このMBeanの値を変更する場合は、あらかじめOracleサポート(HTTP://www.oracle.com/)に問い合せてください。大部分のシステムでは、シードされた値で問題ありません。 |
SIPCluster MBeanを使用すると、ピア・ノード相互の間の状態レプリケーションで使用する次のタイマーを構成できます。
RestoreTimeout: ノードは、着信するリクエストのセッションIDを認識できない場合、ピアからの状態レプリカをリクエストします。属性によって設定された間隔は、リクエストされた別のピアからの状態レプリカをノードが待機する時間を反映しています。
注意: OC4Jクラスタのリストア・タイムアウトのデフォルト値は0です。これはピアが無期限に状態レプリカを待機することを意味します。この属性により無効にされる場合を除き、一部の環境下でピアがアクティブ・スレッドをすべてブロックすることがあります。 |
OwnedByTimeout: レプリケートされたデータの所有権をピア相互の間で渡すのに必要な時間。この値は、状態レプリカを所有しているノードが所有権を放棄して、リクエストしているノードが所有権を確認するまでの間隔を設定します。リクエストしているピアがデータに到達すると、そのセッション・レプリカはLIVE状態に昇格します。
注意: OC4Jクラスタで所有権を渡す設定のデフォルト値は-1です。この値の場合、ピアはレプリケートされたデータを待機しません。所有権の間隔がないため、2つのピアが短時間、同時にLIVEセッション・レプリカをホスティングすることがあります。 |