2.2.1 キューファイルの構造
キューファイルの構造について説明します。
- 〈この項の構成〉
(1) キューファイル
キューファイルは,キューに出力したメッセージが格納される物理的なファイルです。キューファイルは,オンライン開始前にmqainitコマンドでOpenTP1ファイルシステム上に作成しておきます。TP1/Message Queueの開始時にキューファイルをメモリ上に読み込み,キューに対する準備をします。
一つのキューファイルには,複数の論理的なファイルの情報が格納されます。
キューファイルには,次に示す2種類の物理ファイルが対応づけられます。mqainitコマンドによって,一つのキューファイルに対しそれぞれの物理ファイルが作成されます。
- メッセージ情報管理ファイル
-
複数の論理的なキューの情報のうち,キューおよびメッセージの管理情報が格納されます。ファイル名には,後ろに「.cnt」が付けられます。
- メッセージファイル
-
複数の論理的なキューの情報のうち,メッセージ自身が格納されます。ファイル名には,後ろに「.msg」が付けられます。
なお,MQAサービス定義のmqa_quefil_infオペランドにYを指定すると,キューファイル単位での容量監視ができます。
(2) キューファイルグループ
複数のキューファイルを,一つの論理的なキューファイルとして扱うことができます。複数のキューファイルのまとまりをキューファイルグループといいます。MQAサービス定義のmqaquegrp定義コマンドで,キューファイルグループを構成するキューファイル名を指定します。
一つのキューファイルグループに複数のキューファイルが対応づけられている場合,どのキューファイルにメッセージが格納されるかは,TP1/Message Queueによって決定されます。
キューファイルグループの構造について,次の図に示します。
|
|
複数のキューファイルを一つのキューファイルグループにする場合の長所について,次に示します。
-
キューの大容量化
キューファイルの最大格納容量は2ギガバイトです。一つのキューファイルでは一つのキューに格納できる最大格納容量がキューファイルの最大格納容量になります。しかし,キューファイルグループにすることによって,最大格納容量の上限がキューファイル数×キューファイルの最大格納容量になります。
-
キューファイル入出力処理の負荷分散
一つのキューに複数のアプリケーションからアクセスする場合,キューファイルに対しての入出力処理が分散されます。
なお,MQAサービス定義のmqaquegrp定義コマンドの-kオプションにYを指定すると,キューファイルグループ単位での容量監視ができます。
- 注意事項
-
アプリケーションまたはチャネルによる複数のキュー操作が同時に一つのキューファイルグループに集中すると,キュー操作が遅くなることがあります。同時に使用するキューファイルは異なるキューファイルグループに分散してください。