お問い合わせ

IBM i システムのパフォーマンスチューニングを行なう際にベースとなるシステム構成と実行処理手法(パフォーマンス管理)について説明します。パフォーマンス改善対処法の参考にしてただければと思います。

1. IBMiシステムの構成と実行処理

IBM i の実行管理は他のシステムとは異なり、誕生当時よりシステム構成が明確に(スケルトン化)されています。
実行処理の仕組みを理解いただくと、パフォーマンス管理も容易となります。

IBM i の実行は「2. IBM i における実行管理の7つの要素」に記載している要素を組み合わせ【実行の順番】でジョブが実行されます。

IBM i の構成

・システム【*SYS】:ハードウェアを含む IBM i 全体を指します
・サブシステム【*SBS】:共通の特性をもった作業をまとめてグループ化して処理・制御する操作環境
・ジョブ【*JOB】:ユーザーが IBM i に対して処理実行させる基本単位(プログラムやデータ等)

実行の順番

① ユーザーが稼働させたいプログラムやデータ等をジョブ単位でまとめる
② ジョブを稼働させるための必要十分条件を指定します(ジョブ記述)
③ サブシステムに投入する経路を決定します(経路指定)
④ 投入時点でのCPUの割り当て度合を決定します(クラス)
⑤ ジョブをサブシステムに認定することでメモリー上への投入設定されます
⑥ サブシステムがシステムに対して関連するリソースを割り当てジョブが稼働し始めます

ibmi_performancetuning01.png

2. IBM i における実行管理の7つの要素

IBMiは「物理要素」と「論理要素」があります。

ibmi_performancetuning02.png

①システム【*SYS】ハードウェアを含む IBM i 全体を指す

①-1 IBM i が提供するリソース全般

a. CPU、 メモリー、ストレージ(HDD、SSD、Nvme)、周辺IO(RDX、USB、DVD)、各種インターフェース(LAN、SAS、FC、拡張box等)
b. マイクロコード、OS/400、ファームウェア等

①-2 システム属性

a. システム名、ネットワーク識別
b. システム値: システム全体に影響する設定値(SYSVAL)

②サブシステム【*SBS】共通の特性をもった作業をまとめてグループ化して処理・制御する操作環境

a. サブシステムで実行するジョブが使用するメインメモリのプール指定 (POOLS)
b. サブシステム内で同時実行可能なジョブ数 (MAXJOBS)

③ジョブ【*JOB】ユーザーがIBM i に対して処理実行させる基本単位

ジョブ名 + ユーザー名 + 連番の3つを組み合わせたユニークなジョブ番号で管理
・ジョブ型の種類
 対話型、バッチ型、スプール型、通信型、自動開始型(主にSQL系)、システム型
 ※ODBCやJDBCなどはQZDASOINITというジョブとして自動開始型で投入されます

③のジョブは④~⑦を組合わせで投入されます

ibmi_performancetuning03.png

④ジョブ記述【*JOBD 】個々のジョブを実行する環境や性質(ジョブ属性)のテンプレート

a. 出力優先順位と出力待ち行列(OUTQ)
b. 初期ライブラリーリスト(INLLIBL)
 ライブラリーリスト *LIBL でのプログラム実行時のオブジェクト探索順序
c. ジョブ日付
d. ジョブ優先順位とジョブ待ち行列(JOBQ)
e. 経路指定データ
 サブシステム記述(*SBSD) の経路指定項目の設定値と比較することでこのジョブが使用するクラス(*CLS) 等が決定されます
f. メッセージのロギング(LOG)
 ジョブの実行結果の出力有無やログ・レベルの詳細化を決定

⑤経路指定(項目、ステップ)【*RTG 】個々のジョブをどの経路で投入するかを規定するもの

a. 使用するクラス
b. メモリー・プールID
プログラムが実行される記憶域プールの場所(プールID)
c. システム投入時点で一番最初に呼び出すプログラム

⑥クラス【*CLS 】個々のジョブのCPU への割り当て具合を設定

a. CPU タイムスライス値:CPU の割り当て時間を指定(ms)
b. 実行優先順位:プログラム実行時の実行優先順位
c. PURGE *YES/*NO の指定(対話型かバッチ型かの指定)

⑦経路指定プログラム【*PGM 】経路指定ステップを制御するプログラム

・一番最初に呼び出すプログラム
・通常はIBM 提供のコマンドプロッセッサー QSYS/QCMDを指定します
・このプログラムの配下でユーザープログラムが稼働することになります

3. IBM i での実行管理(パフォーマンス管理)の注意点

基本項目着目点
1⃣CPU 利用の優先順位とサービスタイム ・優先順位に左右される(値の小さい方が高位)
・タイムスライス値に注意→大きくしすぎると他のジョブに影響
2⃣メモリーの割り当て具合 サブシステム単位でのメモリープールのサイズ、最大活動数等
・同一プール上でジョブ数が多すぎると競合が発生し処理が遅くなる
・メモリ割り当てが不足すると処理が遅くなる
3⃣連動するメインメモリーとストレージ=SLS(単一レベル記憶) IBMiはSLSマシーンなのでストレージの稼働状況やバランスがポイント(空き具合とビジー状態)
ビジー状態だと処理が遅くなる
4⃣インターフェース環境 特にネットワークやFC(外部ストレージ)の負荷状況

サブシステムが止まっているとジョブは投入はされますが動作はしません
クラウド環境(PowerVS)は、オンプレミス環境と1⃣~3⃣の基本的な構造は同じですが、4⃣のインターフェース環境に大きく左右されます

関連リンク

IT Modernizationクリニック

IT Modernizationクリニック(個別相談会)

お客様のITインフラ環境を、単なるサーバ仮想化だけでなく、ストレージ仮想化やパブリックの活用や、クラウドマイグレーション含め、最適なインフラ環境のモダナイゼーションをご支援します。
TCO削減レポートだけでなく、性能分析、今後のリソース利用状況可視化等、改善すべき課題を洗い出します!

詳しく見る