Systemwalker Operation Manager 使用手引書 - UNIX共通 - - Microsoft(R) Windows(R) 2000/Windows Server(TM) 2003 - |
目次 索引 |
付録B 留意事項 | > B.1 性能のチューニングについて |
大量のジョブを登録する場合は、1つのジョブの中で複数単位の業務処理を実施し、ジョブ数をできる限り少なくするように設計してください。
ジョブごとにキュー制御、排他制御、ジョブ実行環境の作成などを行うため、ジョブ数が多くなるほどオーバヘッドが大きくなります。また、スケジュールサーバと実行サーバが別々の場合、サーバ間の通信処理や、ジョブ出力ファイルの転送などのため、オーバヘッドを伴います。
業務のジョブ登録量と各ジョブの処理時間を想定し、運用時間内に処理できることを検証してください。なお、ネットワークジョブの場合は、ネットワークジョブ環境で検証してください。
例えば、想定されるジョブの処理時間をsleepするような仮のジョブで業務モデルを用意し、運用時間内に処理できることを事前に検証してください。
[例] 業務モデル |
ジョブ登録数 |
: |
3,000 |
運用時間 |
: |
1時間 |
|
ジョブの処理時間 |
: |
すべて1秒 |
上記の業務モデルを実行した結果、運用時間内にすべてのジョブが完了しなかった場合、ジョブの処理内容を見直して、複数のジョブの処理を1つのジョブにまとめてジョブ登録数を減らすなど、業務モデルを変更して再検証してください。
以下の例のようにジョブを作成し、できるだけジョブを少なくするように設計します。
[改善前]1つのコマンドを1つのジョブとして記述している
ジョブ1: date>>/tmp/gyoumu.log |
[改善後]複数の処理をシェルスクリプトに記述し、1つのジョブとする
ジョブ1: |
改善前は、日付のログを取る、処理をする、再度日付のログを取るという3つのコマンドごとに、それぞれ1つのジョブとして登録されています。ジョブの実行ごとに多重度制限などのキュー制御の処理や、認証、内部ログイン処理、標準出力/エラー出力ファイルの準備などジョブ実行環境の生成処理のオーバヘッドでCPU使用量が高くなり、本来の業務処理でCPUを有効に利用できないことがあります。3つのジョブを1つにすることで、ジョブ実行ごとの処理を減らします。
Systemwalker Operation Managerでは、JCL(業務手続き言語)を利用してジョブステップの構成でジョブを作成することができます。
1つのジョブに複数のジョブステップを記載でき、ジョブステップと対応づけてシェルスクリプトを起動できるので、複数のシェルスクリプトを1つのジョブとして構成することができます。
例えば10個のシェルスクリプトで1つの業務となるような処理が100個ある場合、ジョブステップを利用しないと1000個のジョブが必要ですが、ジョブステップを利用すると10個のシェルスクリプトは1つのジョブとして記述することができるため、100個のジョブに減らすことができます。
ただし、JCLの中でネットワークジョブを利用する場合は、ジョブステップ単位で実行先のサーバが指定でき、ジョブステップ単位で実行先サーバとの通信処理やジョブ出力ファイルの転送など、オーバヘッドが伴うので、1つのジョブにまとめても性能上、有効にならない場合があります。
JCLの記述方法については、“Systemwalker Operation Manager リファレンスマニュアル”を参照してください。
目次 索引 |