11.1.3 メッセージ・キューとメッセージ

Oracle Tuxedoシステムは、クライアントとサーバーの通信にUNIXシステムのメッセージとメッセージ・キューを使用します。このようなメッセージには、たとえば、サービス・リクエスト、サービス応答、会話型メッセージ、非請求メッセージ、管理メッセージ、トランザクション制御メッセージなどがあります。

サーバーのすべての複数サーバー、単一キュー(MSSQ)セットと個々のサーバーに、リクエストを受信するためのメッセージ・キューがあります。各クライアントには、応答を受信するためのキューがあります。REPLYQパラメータが設定されているサーバーにも、それぞれ応答キューがあります。カーネル・メッセージ・パラメータを調整することは、アプリケーションを適切にチューニングするために重要です。不適切な値に設定すると、アプリケーションが起動しなかったり、パフォーマンスが著しく低下することがあります。

次の表に示すように、いくつかのメッセージ・キュー・パラメータを使用して、キュー・スペースの特性を定義できます:

表11-2 メッセージ・キューのパラメータ

パラメータ 説明
MSGTQL カーネルに格納できる未処理のメッセージの総数。
MSGMNB 1つのキューに格納できるバイトの最大長
MSGMAX 個々のメッセージの最大サイズ
MSGSEG 任意の時点での未処理のメッセージ・セグメントの総数
MSGSSZ 各セグメントのサイズ

これらのパラメータで指定した制限を超えると、ブロッキング状態が発生します。ただし、MSGMAXは例外です。MSGMNBの75%を超えるメッセージ、またはMSGMAXより大きいメッセージはUNIXファイルに格納されます。その場合、ファイル名を含むごく小さなメッセージが受信側に送られます。この動作モードはパフォーマンスを著しく低下させるので、使用しないことをお薦めします。