昨日のパフォーマンスデータ分析方法の続きです。
IBM i のパフォーマンスデータはまず、収集サービスで分析する
収集サービスでシステム全体(CPU,メモリ,ディスク)の処理概要や個々のジョブ、ユーザーID毎の処理状況などを把握することが出来ます。
収集サービスでは1つ1つのSQLのアクセスプランや処理内容・処理時間明細は取れないので、それが必要な場合はSQLパフォーマンスモニター(DBモニター)を別途しかけて収集します。
上記以外にもいくつかIBM i のパフォーマンスデータを取得できますが、まずは上記2つ使えれば大半は大丈夫だと思います。この2つ以外のデータが必要になるのは通常はIBMサポートからデータ収集依頼があった場合が大半だと思います。
収集サービスとは?
※IBM i OS標準の(通常、追加導入などは不要)データ収集機能です。
以前のバージョンではユーザー起動で開始が必須でしたが、IBM i 7.x では収集サービスがQSYSWRKサブシステム開始時に自動的に投入されるようになっています。
具体的には、QSYSWRKサブシステム記述の自動開始ジョブ項目に収集サービスの開始が指定されています。
下記のジョブ QYPSSTRCOL が該当します。
収集サービスのデータはNavigator for i のCPU/MEM/DISKの稼働率監視グラフ表示でも利用されています。
収集サービスの開始手順・終了手順
収集サービスを手動で開始したい場合は、STRPFRCOLコマンドで開始するか、Navigator for i の収集サービスメニューから開始できます。終了する場合は、ENDPFRCOLコマンドか、Navigator for i から実行できます。
ちなみにデフォルトの収集間隔は15分になっていると思います。私が分析する際は15分だと瞬間ピークが平準化されてしまい見えないことがあるため、5分間隔の取得に変更してSTRPFRCOLを実行するのがおススメです。
***収集サービスの自動開始を止めたい場合、上記の自動開始ジョブ項目を下記のコマンドで除去することも可能です。
RMVAJE SBSD(QSYSWRK) JOB(QYPSSTRCOL)
上記コマンドののちにシステムをRe-IPL後(正確にはQSYSWRKサブシステムの再始動後)、変更が適用されます。
収集サービスのデータ分析手順
全体像は下記です。
収集サービスのデータはMGTCOLというオブジェクトにかためて生成されてます。MGTCOLそのままだと分析がむつかしい(できない)ので、CRTPFRDTAコマンドでCPU,メモリ,ディスク、ユーザーデータなどメトリックスごとのDb2 テーブル(QAPMxxx というテーブル)に展開します。
QAPMXXXのテーブルはかつてはPRTxxxコマンドで連続帳票に印刷して分析していましたっけ(遠・・・)
今は前回ご紹介のようなNavigator for i で分析するのが一般的です。
収集サービスのデータ収集が動いているか?の確認
収集サービスの設定情報などはIBM i サービスの QSYS2.COLLECTION_SERVICES_INFO で取得できます。同時に収集サービスが動作しているか、どのオブジェクト*MGTCOLにデータが収集されているか等も確認できます。
次の記事でご紹介したいと思います。
IBM i パフォーマンス分析のまとめ参考リンク
愛弟子さんによるこちらのまとめもどうぞ♪(こちらの方が分かりやすいかも?(^^;)