事前開始ジョブの使用
事前開始ジョブは、リモート・システム上のプログラムが IBM® i ホスト・サーバーとの通信を開始する前に実行を開始するバッチ・ジョブです。
これは、サブシステム記述の事前開始ジョブ項目を使用して、ジョブの開始時にどのプログラム、クラス、および記憶域プールを使用するかを判断します。 事前開始ジョブ項目には、事前開始ジョブのプールを作成および管理するために使用するサブシステムの属性を指定しなければなりません。
事前開始ジョブを使用すると、サーバーとの接続を開始するときのパフォーマンスが向上します。 事前開始ジョブ項目はサブシステム内で定義されます。 事前開始ジョブは、サブシステムが始動されるときに活動状態になります。あるいは、事前開始ジョブの開始 (STRPJ) および事前開始ジョブの終了 (ENDPJ) コマンドを使用して、事前開始ジョブを制御することもできます。
事前開始ジョブに関連したシステム情報 (DSPACTPJ など) では、「プログラム始動要求」という語は、事前開始ジョブを始動するための要求を表す限定的な意味で使用されます。 これは、そのシステム情報がソケット接続要求の結果として開始された事前開始ジョブに関連したものであっても同じです。
- 一般に、事前開始ジョブはプールに戻された後でも再使用できます。 事前開始ジョブが再使用される回数は、ADDPJE または CHGPJE CL コマンドの最大使用回数値 (MAXUSE) に指定されている値によって決まります。 接続クライアント・コードは、事前開始ジョブへ接続されている間に使用した資源をクリーンアップすることが常に最良の策である一方、ほとんどのサーバーは、安全な事前開始ジョブの再利用を可能にするために十分な自動クリーンアップを行います。 例外は、MAXUSE 値が 1 であるリモート・コマンドおよび分散プログラム呼び出しサーバーです。 このサーバーでは、事前開始ジョブのユーザーの 1 人が使用している資源が、その事前開始ジョブの使用を終了する前にクリーンアップされる保証がありません。 これらの資源が後続のユーザーによって不注意にアクセスされることを防ぐために、リモート・コマンドおよび分散プログラム呼び出しサーバーの MAXUSE 値を変更しないでください。
- デフォルトでは、一部のサーバー・ジョブは QUSRWRK または QSERVER の中で実行されます。 System i ® Navigatorを使用すると、これらのサーバーの一部またはすべてを、選択したサブシステムで実行するように構成できます。
- .
- サブシステム構成を行うサーバーを右マウス・ボタンでクリックし、「プロパティー」を選択する。
- 「サブシステム」ページを使用して、サーバーを構成する。
ジョブをデフォルト・サブシステムから移動するには、次の操作が必要です。
- 専用のサブシステム記述を作成する。
- ADDPJE コマンドを使用して、独自の事前開始ジョブ項目を追加する。 STRJOBS パラメーターを *YES に設定する。
この操作をしておかないと、ジョブは デフォルト・サブシステム の中で実行されることになります。
ソケット通信インターフェースによりサポートされるホスト・サーバーはすべて、事前開始ジョブをサポートします。
該当するサーバーには次のものがあります。
- ネットワーク印刷サーバー
- リモート・コマンドおよび分散プログラム呼び出しサーバー
- セントラル・サーバー
- データベース・サーバー
- セキュア・データベース・サーバー
- ファイル・サーバー
- セキュア・ファイル・サーバー
- データ待ち行列サーバー
- サインオン・サーバー (ソケット通信サポートを使用するサーバーに固有のもの)
次の表は、事前開始ジョブ項目属性のリストと、ソケット通信サポートを使用するホスト・サーバー用に構成される各属性の初期値を示しています。
サブシステム記述
事前開始ジョブ項目を含むサブシステム。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | QUSRWRK |
リモート・コマンドおよびプログラム呼び出し | QUSRWRK |
セントラル | QUSRWRK |
データベース | QUSRWRK |
セキュア・データベース | QUSRWRK |
ファイル | QSERVER |
セキュア・ファイル | QSERVER |
データ待ち行列 | QUSRWRK |
サインオン | QUSRWRK |
プログラム・ライブラリー/名前
事前開始ジョブが開始されるときに呼び出されるプログラム。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | QSYS/QNPSERVS |
リモート・コマンドおよびプログラム呼び出し | QSYS/QZRCSRVS |
セントラル | QSYS/QZSCSRVS |
データベース | QSYS/QZDASOINIT |
セキュア・データベース | QSYS/QZDASSINIT |
ファイル | QSYS/QPWFSERVSO |
セキュア・ファイル | QSYS/QPWFSERVSS |
データ待ち行列 | QSYS/QZHQSSRV |
サインオン | QSYS/QZSOSIGN |
ユーザー・プロファイル
ジョブを実行するユーザー・プロファイル。 これは、ジョブでユーザー・プロファイルとして示されます。 クライアントからサーバーの開始要求が受信されると、事前開始ジョブ機能は、その要求の中で指定されているユーザー・プロファイルに切り替えます。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | QUSER |
リモート・コマンドおよびプログラム呼び出し | QUSER |
セントラル | QUSER |
データベース | QUSER |
セキュア・データベース | QUSER |
ファイル | QUSER |
セキュア・ファイル | QUSER |
データ待ち行列 | QUSER |
サインオン | QUSER |
ジョブ名
ジョブが開始されるときのそのジョブの名前。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | *PGM |
リモート・コマンドおよびプログラム呼び出し | *PGM |
セントラル | *PGM |
データベース | *PGM |
セキュア・データベース | *PGM |
ファイル | *PGM |
セキュア・ファイル | *PGM |
データ待ち行列 | *PGM |
サインオン | *PGM |
ジョブ記述
事前開始ジョブに使用するジョブ記述。 *USRPRF が指定されている場合は、このジョブを実行するプロファイルのジョブ記述が使用されるという点に注意してください。 これは、QUSER のジョブ記述が使用されるということです。 要求元のジョブ記述からの属性もいくつか使用されます。印刷装置および出力待ち行列は、要求元ユーザーのジョブ記述からスワップされます。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | QSYS/QZBSJOBD |
リモート・コマンドおよびプログラム呼び出し | QSYS/QZBSJOBD |
セントラル | QSYS/QZBSJOBD |
データベース | QGPL/QDFTSVR |
セキュア・データベース | QGPL/QDFTSVR |
ファイル | QGPL/QDFTSVR |
セキュア・ファイル | QGPL/QDFTSVR |
データ待ち行列 | QSYS/QZBSJOBD |
サインオン | QSYS/QZBSJOBD |
ジョブ開始
事前開始ジョブを、サブシステムの始動時に自動的に開始するかどうかを示します。 この事前開始ジョブ項目は、出荷時には、サーバー・ジョブが必ず使用可能になるように *YES に設定されています。 STRHOSTSVR コマンドを使用すると、その処理の一環としてそれぞれの事前開始ジョブが開始されます。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | *YES |
リモート・コマンドおよびプログラム呼び出し | *YES |
セントラル | *YES |
データベース | *YES |
セキュア・データベース | *YES |
ファイル | *YES |
セキュア・ファイル | *YES |
データ待ち行列 | *YES |
サインオン | *YES |
初期ジョブ数
サブシステムの始動時に開始されるジョブの数。 この値は、インストール先特有の環境と要件に合わせて調整できます。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | 1 |
リモート・コマンドおよびプログラム呼び出し | 1 |
セントラル | 1 |
データベース | 1 |
セキュア・データベース | 1 |
ファイル | 1 |
セキュア・ファイル | 1 |
データ待ち行列 | 1 |
サインオン | 1 |
しきい値
1 つの事前開始ジョブ項目について使用できる事前開始ジョブの最小数。 このしきい値に達すると、追加の事前開始ジョブが自動的に開始されます。 このしきい値により、プール内に一定数のジョブが保持されます。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | 1 |
リモート・コマンドおよびプログラム呼び出し | 1 |
セントラル | 1 |
データベース | 1 |
セキュア・データベース | 1 |
ファイル | 1 |
セキュア・ファイル | 1 |
データ待ち行列 | 1 |
サインオン | 1 |
追加のジョブ数
しきい値に達したときに開始される追加の事前開始ジョブの数。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | 2 |
リモート・コマンドおよびプログラム呼び出し | 2 |
セントラル | 2 |
データベース | 2 |
セキュア・データベース | 2 |
ファイル | 2 |
セキュア・ファイル | 2 |
データ待ち行列 | 2 |
サインオン | 2 |
ジョブの最大数
この項目について活動状態にすることのできる事前開始ジョブの最大数。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | *NOMAX |
リモート・コマンドおよびプログラム呼び出し | *NOMAX |
セントラル | *NOMAX |
データベース | *NOMAX |
セキュア・データベース | *NOMAX |
ファイル | *NOMAX |
セキュア・ファイル | *NOMAX |
データ待ち行列 | *NOMAX |
サインオン | *NOMAX |
最大使用数
ジョブの最大使用回数。 この値が 200 であれば、事前開始ジョブは、サーバー始動要求が 200 回処理された時点で終了します。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | 200 |
リモート・コマンドおよびプログラム呼び出し | 1 |
セントラル | 200 |
データベース | 200 |
セキュア・データベース | 200 |
ファイル | *NOMAX |
セキュア・ファイル | *NOMAX |
データ待ち行列 | 200 |
サインオン | 200 |
ジョブの待機
最大ジョブ数に達したときに、サーバー・ジョブが使用可能になるまで、クライアント接続要求を待機させるかどうかを示します。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | *YES |
リモート・コマンドおよびプログラム呼び出し | *YES |
セントラル | *YES |
データベース | *YES |
セキュア・データベース | *YES |
ファイル | *YES |
セキュア・ファイル | *YES |
データ待ち行列 | *YES |
サインオン | *YES |
プールID
この事前開始ジョブが実行されるサブシステム・プール。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | 1 |
リモート・コマンドおよびプログラム呼び出し | 1 |
セントラル | 1 |
データベース | 1 |
セキュア・データベース | 1 |
ファイル | 1 |
セキュア・ファイル | 1 |
データ待ち行列 | 1 |
サインオン | 1 |
クラス
事前開始ジョブを実行するクラスの名前とライブラリー。
ホスト・サーバー | 値 |
---|---|
ネットワーク・プリント | QGPL/QCASERVR |
リモート・コマンドおよびプログラム呼び出し | QGPL/QCASERVR |
セントラル | QGPL/QCASERVR |
データベース | QSYS/QPWFSERVER |
セキュア・データベース | QSYS/QPWFSERVER |
ファイル | QSYS/QPWFSERVER |
セキュア・ファイル | QSYS/QPWFSERVER |
データ待ち行列 | QGPL/QCASERVR |
サインオン | QGPL/QCASERVR |
事前開始ジョブ項目についてジョブ開始の値が *YES に設定されていて、その他の値がすべて初期設定のままになっているときは、各事前開始ジョブ項目について次のアクションがとられます。
- サブシステムの始動時に、各サーバーについて 1 つずつ事前開始ジョブが開始されます。
- 最初のクライアント接続が特定のサーバーに対して複数のプロセスを要求すると、初期ジョブが使用され、しきい値を超えます。
- そのサーバーについて、事前開始ジョブ項目内で定義されている数に従って追加のジョブが開始されます。
- 使用可能なジョブ数は、常に少なくとも 1 です。
- サブシステムは、要求を処理できる状態になっている事前開始ジョブの数を定期的に検査し、余分なジョブを終了します。 サブシステムは、少なくとも初期ジョブ数パラメーターに指定されている数の事前開始ジョブだけは残しておきます。
事前開始ジョブのモニター
事前開始ジョブをモニターするには、活動事前開始ジョブの表示 (DSPACTPJ) コマンドを使用します。 たとえば、サインオン・サーバー用の事前開始ジョブをモニターするには、事前開始ジョブが入っているサブシステム (QUSRWRK またはユーザー定義のサブシステム) と、プログラム (たとえば QZSOSIGN) が分かっている必要があります。
DSPACTPJ コマンドは次のような情報を提供します。
+--------------------------------------------------------------------------------+
| Display Active Prestart Jobs LP11UT11 |
| 07/28/09 15:06:14 |
|Subsystem . . . . . : QUSRWRK Reset date . . . . . : 07/01/09 |
|Program . . . . . . : QZSOSIGN Reset time . . . . . : 02:19:51 |
| Library . . . . . : QSYS Elapsed time . . . . : 0660:46:23 |
| |
| Prestart jobs: |
| Current number . . . . . . . . . . . . . . . . : 10 |
| Average number . . . . . . . . . . . . . . . . : 8.5 |
| Peak number . . . . . . . . . . . . . . . . . : 25 |
| |
| Prestart jobs in use: |
| Current number . . . . . . . . . . . . . . . . : 5 |
| Average number . . . . . . . . . . . . . . . . : 4.3 |
| Peak number . . . . . . . . . . . . . . . . . : 25 |
| |
| |
| More... |
| |
| |
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
| 07/28/09 15:06:14 |
|Subsystem . . . . . : QUSRWRK Reset date . . . . . : 07/01/09 |
|Program . . . . . . : QZSOSIGN Reset time . . . . . : 02:19:51 |
| Library . . . . . : QSYS Elapsed time . . . . : 0660:46:23 |
| |
| |
| |
| Program start requests: |
| Current number waiting . . . . . . . . . . . . : 0 |
| Average number waiting . . . . . . . . . . . . : .2 |
| Peak number waiting . . . . . . . . . . . . . : 4 |
| Average wait time . . . . . . . . . . . . . . : 00:00:20.0 |
| Number accepted . . . . . . . . . . . . . . . : 0 |
| Number rejected . . . . . . . . . . . . . . . : 0 |
| |
| |
| |
| Bottom |
|Press Enter to continue. |
| |
|F3=Exit F5=Refresh F12=Cancel F13=Reset statistics |
| |
+--------------------------------------------------------------------------------+
事前開始ジョブの管理
「活動事前開始ジョブの表示」画面が表示されているときに F5 キーを押すと、特定の活動事前開始ジョブについて表示されている情報を最新表示することができます。 プログラム開始要求に関する情報には、使用可能な事前開始ジョブ数を変更する必要があるかどうかが示される場合があります。 事前開始ジョブが使用可能になるのを待っているプログラム開始要求があることが示されている場合は、事前開始ジョブ項目の変更 (CHGPJE) コマンドにより事前開始ジョブを変更することができます。
プログラム開始要求に対するアクションが速やかに行われない場合は、次の処置を任意に組み合わせて使用できます。
- しきい値を大きくする。
- 初期ジョブ数 (INLJOBS) のパラメーター値を大きくする。
- 追加のジョブ数 (ADLJOBS) のパラメーター値を大きくする。
重要なのは、すべての要求について必ず使用可能な事前開始ジョブがあるようにすることです。
事前開始ジョブ項目の除去
サーバーが事前開始ジョブ機能を使用しないようにしたい場合は、次のことを行う必要があります。
- 事前開始ジョブの終了 (ENDPJ) コマンドにより事前開始ジョブを終了する。
ENDPJ コマンドにより終了した事前開始ジョブは、事前開始ジョブ項目でジョブ開始に *YES が指定されている場合は次回のサブシステム始動時に開始され、また、指定されているサーバー・タイプを対象として STRHOSTSVR コマンドが実行された場合にも開始されます。 事前開始ジョブを終了しただけで、次のステップを実行しなかった場合は、特定のサーバーを始動しようとする要求はすべて失敗します。
- 事前開始ジョブ項目の除去 (RMVPJE) コマンドを使用して、サブシステム記述の中の事前開始ジョブ項目を除去する。
RMVPJE コマンドを使用して除去した事前開始ジョブ項目は、サブシステム記述から永久に除去されます。 いったん、項目が除去されると、該当サーバーに対する新たな要求ができます。
経路指定項目の使用
デーモン・ジョブがサブシステムのいずれかに経路指定されるときに、ジョブはサブシステム記述の中の経路指定項目を使用します。 ホスト・サーバー・デーモン・ジョブ用の経路指定項目は、STRHOSTSVR コマンドが実行されたときにサブシステム記述に追加されます。 これらのジョブは QUSER ユーザー・プロファイルの下で実行されます。 QSYSWRK サブシステムに投入されたデーモン・ジョブの場合は、QSYSNOMAX ジョブ待ち行列が使用されます。 QSERVER サブシステムに投入されたサブシステムの場合は、QPWFSERVER ジョブ待ち行列が使用されます。
サーバー・ジョブの特性は、それぞれの事前開始ジョブ項目からとられます。 サーバーに事前開始ジョブを使用しない場合は、サーバー・ジョブは、それぞれに対応するデーモン・ジョブの特性を使用して開始されます。
次に示すのは、IBM 提供のサブシステムの中での、個々のサーバー・デーモン・ジョブの初期構成です。
ネットワーク・プリント・サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QNPSERVD |
ジョブ名 | QNPSERVD |
クラス | QGPL/QCASERVR |
順序番号 | 2538 |
リモート・コマンドおよびプログラム呼び出しサーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QZRCSRVSD |
ジョブ名 | QZRCSRVSD |
クラス | QGPL/QCASERVR |
順序番号 | 2539 |
セントラル・サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QZSCSRVSD |
ジョブ名 | QZSCSRVSD |
クラス | QGPL/QCASERVR |
順序番号 | 2536 |
データベース・サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSERVER |
ジョブ待ち行列 | QPWFSERVER |
ユーザー | QUSER |
データの経路指定 | QZDASRVSD |
ジョブ名 | QZDASRVSD |
クラス | QSYS/QPWFSERVER |
順序番号 | 600 |
ファイル・サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSERVER |
ジョブ待ち行列 | QPWFSERVER |
ユーザー | QUSER |
データの経路指定 | QPWFSERVSD |
ジョブ名 | QPWFSERVSD |
クラス | QSYS/QPWFSERVER |
順序番号 | 200 |
データ待ち行列サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QZHQSRVD |
ジョブ名 | QZHQSRVD |
クラス | QGPL/QCASERVR |
順序番号 | 2537 |
サインオン・サーバー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QZSOSGND |
ジョブ名 | QZSOSGND |
クラス | QGPL/QCASERVR |
順序番号 | 2540 |
サーバー・マッパー・デーモン
属性名 | 属性値 |
---|---|
サブシステム | QSYS/QSYSWRK |
ジョブ待ち行列 | QSYSNOMAX |
ユーザー | QUSER |
データの経路指定 | QZSOSMAPD |
ジョブ名 | QZSOSMAPD |
クラス | QGPL/QCASERVR |
順序番号 | 2541 |