16.4.6 実装、パフォーマンスおよびスループット
IBM i ジョブ待ちエミュレーション機能は以下の目的を考慮して設計されました。
永続化
モニターがアクティブでない時にタスクを待ち行列に入れる機能です。投入されるジョブは、セッションの期間を超えても、マシン全体の電源が切られて再び入れられても継続します。
これは、ジョブ詳細の暗号化がオンになっている時にはサポートされません。
暗号化キーが、ジョブ待ち行列モニターの実行中のみ有効だからです。ジョブ待ち行列モニターの別のインスタンスは新しいキーを使用するため、既存のジョブは復号化されず、実際、存在する場合は自動的に削除されます。
移植性
IBM i ジョブ待ち行列のエミュレーションに使用されるメソッドにはオペレーティング・システムへの強い依存性はなく、将来、簡単に他のマルチタスキング・オペレーティング・システムに移植できます。
IBM i 機能と同様の容量とスループット率
IBM i サブシステムおよびジョブ待ち行列機能は、比較的少量のバッチ・ジョブを1つあたり2秒から5秒のスループット率で処理するよう設計されています。
最終的に、スループット率は投入されるジョブが実行する作業量で統制されますが (後のジョブを待ち行列上で待たせる際)、投入されるジョブがどれほど単純で、プロセッサがどれほどパワフルであっても、2-3秒に1ジョブ以上の率は期待できません。
IBM i アプリケーション設計者は、1秒あたり数十から数百のスループット率が必要なジョブの処理にIBM i ジョブ待ち行列機能を使用しません。このように高い率が必要な場合、データ待ち行列や名前付きパイプなどより高度な機能が、提供されたまたはユーザー定義の組み込み関数経由で実装される必要があります。
まとめ
ジョブ待ち行列モニターが実際に達成するスループット率、およびジョブが待ち行列に投入される率は、CPU 速度、ディスクの使用、LANトラフィック、CPUパワーなど、とても多くの要因に依存します。とても高いスループット率が設計に必要な要素である場合、プロトタイプを構築し、設計サイクルの初期に確認することを強くお勧めします。