3.20.4 通番予約および通番割り当て
UAP履歴情報メモリ通番機能の使用時と未使用時それぞれの通番を管理する表(行)の構成を次の表に示します。また次の図の手順で通番処理をします。
項番 |
サーバ |
表(行) |
列名 |
通番内容 |
備考 |
|
---|---|---|---|---|---|---|
機能未使用 |
機能使用 |
|||||
1 |
DB |
グループ管理表 (現用管理部) |
割り当て済み通番 |
UAPへの割り当て済み通番 |
通番同期機能によって反映済みの通番※ |
− |
2 |
現用表最終通番 |
現用表の格納可能行数 |
同左 |
− |
||
3 |
予約済み通番 |
− |
予約済みの通番 |
新設 |
||
4 |
AP |
メモリ通番表 |
割り当て済み通番 |
− |
UAPへの割り当て済み通番 |
新設 |
5 |
現用表最終通番 |
− |
現用表の格納可能行数 |
新設 |
||
6 |
予約済み通番 |
− |
予約した通番数 |
新設 |
-
TP1/EE起動
TP1/EE起動時,処理スレッドがメモリ通番表へ通番を予約します。予約する通番数Rはtrnaphgroupコマンドの-rで指定した値です。ただし,予約通番数は予約可能通番数(=現用表最終通番-予約済み通番)によって異なります。次の表に予約可能通番数別の予約通番数を示します。
表3‒9 予約可能通番数別の一括予約通番数 項番
予約可能通番数
処理内容
1
2R以上
Rの通番数分だけの通番を予約
2
1以上2R未満
予約可能通番数分すべてを予約
3
0
予約しません※
-
通番割り当て
処理スレッドがUJ出力処理の一部でメモリ通番表から通番を割り当てます。ただし,割り当て可能通番が足りなくなった場合は,処理スレッドが通番予約処理を実行します。さらに現用管理部に予約可能通番が残っていなかった場合は,未割り当ての通番を使い切った後で表スワップを実行します。
-
通番予約
UAPへの未割り当て通番数(=予約済み通番-割り当て済み通番)が,通番予約要求の閾値(trnaphgroupコマンドの-l)で指定する値を下回った場合,履歴情報監視スレッドがメモリ通番表に通番を予約します。
実行タイミングは,通番予約要求の閾値で指定する値を下回ってから最初に実行される通番同期機能(「3.20.5 通番同期機能」を参照してください)と同じタイミングです。予約する通番数は,「表3-9 予約可能通番数別の一括予約通番数」に従います。
-
TP1/EE終了
TP1/EEの終了(正常終了/計画停止A)時,処理スレッドがメモリ通番表の予約済み通番のうち,未割り当ての通番を現用管理部の予約済み通番および割り当て済み通番に反映することで予約通番を返却します。
一括通番予約数および通番予約要求の閾値の設定
- 設定値の目安
-
-
通番予約要求の閾値の設定値
通番予約は1秒間隔で実行する通番同期機能(「3.20.5 通番同期機能」を参照してください)と同じタイミングで実行されます。したがって,予約通番残り数が閾値を下回ってから最大で1秒の間,通番予約が実行されないおそれがあります。このことから閾値を下回ってから1秒後にも予約通番残り数が存在している必要があるため,次の式から算出される値を目安としてください。
(通番予約要求の閾値)=(想定スループット)×(1trn当たり履歴情報行使用数)×(安全率1.2)
- (設定例)
-
想定スループット=500TPS,1trn当たり履歴情報行使用数=2行の場合,
通番予約要求の閾値の設定値の目安は,500(TPS)×2(行)×1.2=1200となります。
-
一括通番予約数の設定値
次のことを考慮に入れ,値の設定をしてください。
・通番予約要求の閾値を超える値であること
・プロセスダウン時の空白行の許容値
(現用表の構成とタイミングによって最大で(L+2R)の空白行が発生するおそれがあります。なお,L,Rはそれぞれ,L:通番予約要求の閾値,R:一括通番予約数,を表します。)
設定値の目安を次に示します。ただし,αは1以上のユーザ任意の値であり,通番予約要求の閾値の2割程度を推奨します。
(一括通番予約数)=(通番予約要求の閾値)+α
-
- 注意点
-
-
一括通番予約数(trnaphgroupコマンドの-rオプション)について,プロセスダウンが発生した場合,空白行が多くできるおそれがあります(空白行発生理由について「3.20.6(2) 計画停止B,強制停止,およびプロセスダウン」を参照してください)。
-
通番予約要求の閾値(trnaphgroupコマンドの-lオプション)について,設定値を小さくすると,UAP履歴情報取得API発行時に通番予約処理の完了待ちが発生し,性能低下の要因となるおそれがあります(「3.20.9(2) 統計情報」を参照してください)。
-