連続で負荷の高いシステムを稼動させているときに、
Delphi/400のアプリケーションから新しい接続が急にできなくなってしまうことがあります。
ジョブメッセージ待ち行列満杯時の処理指定が*NOWRAPのままだと、
長時間連続稼動したときなどにサーバソケットのジョブログが満杯になり、
サブシステムCO4XXTCPの下のジョブCO4XXSVRが終了してしまう可能性があります。
(「CO4XX」部分はDelphi/400バージョンで異なります。)
負荷が高いような場合、ジョブログの満杯時の処理(JOBMSGQFL)を*WRAPに変更するか、
ジョブログのサイズ上限をある程度大きくする対応があります。
ジョブ記述の中にあるジョブログ満杯時の処理を
「*WRAP」に変更するコマンドをご説明します。
CO4XXSVRでJOBMSGQFLをに変更するにはCHGJOBDコマンドを使用します。
以下1.のコマンドで現在の状態を確認し、
「ジョブ・メッセージ待ち行列満杯時の処置」という項目を確認します。
1.で確認した値が「*SYSVAL」(システム値に依存)になっている場合は、
以下2.のコマンドでシステム値を確認します。
1.2.のいずれも「*WRAP」になっていない場合は、
以下3.4.5.のコマンド発行でジョブ記述の値を変更します。
(CO4XX・CO4XXTCP・CO4XXSVRの値は、それぞれのバージョンによって異なります。
こちらに記載の値をもとに実際の値を入力ください。)
(1.ジョブ記述の確認)
DSPJOBD JOBD(CO4XX/CO4XXTCP)
(2.システム値の確認)
DSPSYSVAL SYSVAL(QJOBMSGQFL)
(3.サブシステムの停止)※活動中のジョブは全て落ちるので注意!
ENDSBS CO4XXTCP *IMMED
(4.設定変更)
CHGJOBD JOBD(CO4XX/CO4XXTCP) JOBMSGQFL(*WRAP)
(5.サブシステムの開始)
STRSBS CO4XX/CO4XXTCP