Interstage Application Server OLTPサーバ運用ガイド |
目次 索引 |
第2章 ワークユニットの機能 | > 2.2 CORBAワークユニット | > 2.2.5 タイマ監視 |
サーバアプリケーションの最大処理時間(タイムアウト時間)を指定し、ワークユニット配下で動作するサーバアプリケーションの呼び出しから復帰までの、応答時間の監視を行うことができます。アプリケーション障害によるハングアップ、ループなどが原因となる処理遅延によるクライアントへのレスポンス遅延を防止する場合に使用します。アプリケーションの最大処理時間に関しては、ワークユニット定義の“Maximum Processing Time(アプリケーション最大処理時間)”で設定します。
アプリケーション最大処理時間には、0〜86400の整数値を設定することができます。省略値は0が設定されており、0が指定されているワークユニットは、タイマ監視を実施しません。
なお、タイマ機能はサーバアプリケーションの障害などにより、アプリケーションの復帰が遅延する場合の対処として使用してください。一般的な運用で頻繁にタイムアウトが発生するような使用は避けてください。
タイムアウト時の振る舞いとして以下の形態を選ぶことができます。
サーバアプリケーションの最大処理時間とタイムアウト時の振る舞いは、ワークユニット定義で設定します。ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の“Maximum Processing Time(アプリケーション最大処理時間)”に設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は“ワークユニット定義”を参照してください。
ワークユニット定義
[Application Program] |
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1 |
Interstage管理コンソールを使用する場合は、“Intestage管理コンソールのヘルプ”も参照してください。
タイムアウト時の振る舞いは、コマンドでワークユニット定義を登録する場合とInterstage管理コンソールを使用する場合で、デフォルトの設定が異なります。
コマンドで定義登録する場合、ワークユニット定義の“Terminate Process for Time out(大処理時間超過時強制停止の有無)”を省略した場合は、“YES”が設定されたものとみなし、タイムアウトが発生したときは、プロセスが強制停止されます。
Interstage管理コンソールで定義登録した場合、デフォルトでは“警告メッセージを出力する”が選択されているため、タイムアウトが発生したときは、警告メッセージのみ出力し、アプリケーションプロセスは終了しません。
CORBAクライアントアプリケーションとワークユニットで連携する場合、クライアントアプリケーション側で不当なタイムアウトを発生させないために、period_receive_timeout(リクエスト返信までの待機時間)を以下の式が成立するように設定する必要があります。
なお。サーバアプリケーションタイマ機能とクライアントタイマ機能との役割として、以下のように使い分けます。
サーバアプリケーションタイマ機能は、主にサーバアプリケーションループなどのサーバアプリケーション処理遅延を主に監視します。
クライアントのタイマ機能は、レスポンスの保証に使用します。
period_receive_timeout(T1) > キューイング時間+ Maximum Processing Time(T2) |
サーバアプリケーション間通信を実施する場合、クライアント側ワークユニットの最大処理時間は、サーバ側ワークユニットの最大処理時間に7秒以上加算した時間を設定してください。
サーバ側ワークユニットでアプリケーションの処理が最大処理時間を超過した場合、Interstageが実際にサーバの最大処理時間の超過を検出し、クライアントに異常を通知するまでに、最大で7秒かかる場合があります。
また、要求がサーバ側ワークユニットの待ちキューに滞留している時間およびクライアント側ワークユニットのアプリケーション処理時間も考慮して、クライアント側ワークユニットの最大処理時間を算出してください。
目次 索引 |