アプリケーションの最大処理時間(タイムアウト時間)を指定し、ワークユニット配下で動作するサーバアプリケーションの呼び出しから復帰までの、応答時間の監視を行うことができます。アプリケーション障害によるハングアップ、ループなどが原因となる処理遅延によるクライアントへのレスポンス遅延を防止する場合に使用します。
なお、タイマ機能はサーバアプリケーションの障害などにより、アプリケーションの復帰が遅延する場合の対処として使用してください。一般的な運用で頻繁にタイムアウトが発生するような使用は避けてください。
タイムアウト時の振る舞いとして以下の形態を選ぶことができます。どちらの形態でも、タイムアウト発生時にスレッドダンプを自動的に採取します。
タイムアウト時間超過メッセージを出力し、タイムアウトとなった処理が属するサーバアプリケーションプロセスを強制的に停止します。プロセス強制停止後、クライアントにエラー/例外が復帰します。
該当プロセス上の複数スレッドで同時に処理が実行されていることを考慮し、プロセスを強制停止させても問題がない場合に、本形態を選択してください。
タイムアウト時間超過メッセージのみ出力し、サーバアプリケーションプロセスは停止しません。ただし、本形態は、メッセージ出力後、正常にアプリケーションが復帰することがありますので、使用時には注意が必要となります。なお、最初のタイムアウト発生から10分間は、同一プロセスからのタイムアウト時間超過メッセージの出力は抑止されます。
スレッドダンプはコンテナ情報ログ(info.log)に採取されます。また、タイムアウト発生直後と10秒後の2回出力されます。これにより、2回のスレッドダンプで変化がなかったスレッド上の動作アプリケーションで問題があることが検出できます。
アプリケーションの最大処理時間は、Interstage管理コンソールのワークユニット設定に定義します。
プロセス強制停止処理は、スレッドダンプの出力前にプロセスが強制停止されることを防止するために、2回目のスレッドダンプ出力処理の10秒後に実施します。それにより、タイムアウト時間超過メッセージが出力されてから、10秒後に2回目のスレッドダンプが出力され、さらに10秒後にプロセスが強制停止されるため、少なくとも20秒間プロセスは停止しません。
そのため、メッセージが出力された場合でも、プロセス停止までの間に正常にアプリケーションが復帰し、その後にプロセスが強制停止される場合があります。