Interstage Application Server OLTPサーバ運用ガイド
目次 索引 前ページ次ページ

第2章 OLTPサーバの設計> 2.1 ワークユニットの設計

2.1.3 サーバアプリケーションタイマ機能

 アプリケーションの最大処理時間(タイムアウト時間)を指定し、ワークユニット配下で動作するサーバアプリケーションの呼び出しから復帰までの、応答時間の監視を行うことができます。アプリケーション障害によるハングアップ、ループなどが原因となる処理遅延によるクライアントへのレスポンス遅延を防止する場合に使用します。アプリケーションの最大処理時間に関しては、ワークユニット定義に指定します。

 タイムアウト時の振る舞いについては、アプリケーションの種別により異なります。なお、サーバアプリケーションタイマ機能については、CORBAアプリケーション、J2EEアプリケーション、トランザクションアプリケーション、EJBアプリケーションに対して有効です。

 タイマ機能については、“タイマ監視”も合わせて参照してください。

 なお、タイマ機能はサーバアプリケーションの障害などにより、アプリケーションの復帰が遅延する場合の対処として使用してください。一般的な運用で頻繁にタイムアウトが発生するような使用は避けてください。

CORBAアプリケーション

 タイムアウト時の振る舞いとして以下の形態を選ぶことができます。

Interstage管理コンソールを使用した運用

 ワークユニットの定義画面または、ワークユニット環境設定画面における“アプリケーション最大処理時間”を設定してください。

J2EEアプリケーション

 タイムアウト時の振る舞いとして以下の形態を選ぶことができます。どちらの形態でも、タイムアウト発生時にスレッドダンプを自動的に採取します。

 スレッドダンプはコンテナ情報ログ(info.log)に採取されます。また、タイムアウト発生直後と10秒後の2回出力されます。これにより、2回のスレッドダンプで変化がなかったスレッド上の動作アプリケーションで問題があることが検出できます。
 アプリケーションの最大処理時間は、Interstage管理コンソールのワークユニット設定に定義します。

 プロセス強制停止処理は、スレッドダンプの出力前にプロセスが強制停止されることを防止するために、2回目のスレッドダンプ出力処理の10秒後に実施します。それにより、タイムアウト時間超過メッセージが出力されてから、10秒後に2回目のスレッドダンプが出力され、さらに10秒後にプロセスが強制停止されるため、少なくとも20秒間プロセスは停止しません。
 そのため、メッセージが出力された場合でも、プロセス停止までの間に正常にアプリケーションが復帰し、その後にプロセスが強制停止される場合があります。

トランザクションアプリケーション

EJBアプリケーション

 タイムアウト時の振る舞いとして以下の形態を選ぶことができます。

サーバアプリケーションのタイマ設定の目安について

 ワークユニットでサーバアプリケーションのタイマを使用する場合、クライアント側のタイマ時間により、調整する必要があります。クライアント側のタイマ機能は以下のとおりです。

クライアント側のタイムアウト

 クライアントのタイムアウト時間は、CORBAサービスの動作環境ファイル(config)で設定します

period_receive_timeout
クライアントにおける、リクエスト送信(サーバメソッド発行)から返信までの待機時間。サーバメソッドからの返信がないままこの時間を経過すると、クライアントアプリケーションにタイムアウトが通知されます。period_receive_timeoutの値に5を乗じた値が実際の時間(秒)となりますので注意してください。

 サーバアプリケーションタイマ機能とクライアントタイマ機能との役割として、以下のように使い分けます。

サーバアプリケーションタイマ機能は、主にサーバアプリケーションループなどのサーバアプリケーション処理遅延を主に監視します。

クライアントのタイマ機能は、レスポンスの保証に使用します。

 クライアントアプリケーション側で不当なタイムアウトを発生させないために、period_receive_timeout(リクエスト返信までの待機時間)を以下の式が成立するように設定する必要があります。

 period_receive_timeout(T1) > キューイング時間+ Maximum Processing Time(T2)

 サーバアプリケーション間通信を実施する場合、クライアント側ワークユニットの最大処理時間は、サーバ側ワークユニットの最大処理時間に7秒以上加算した時間を設定してください。
 サーバ側ワークユニットでアプリケーションの処理が最大処理時間を超過した場合、Interstageが実際にサーバの最大処理時間の超過を検出し、クライアントに異常を通知するまでに、最大で7秒かかる場合があります。
 また、要求がサーバ側ワークユニットの待ちキューに滞留している時間およびクライアント側ワークユニットのアプリケーション処理時間も考慮して、クライアント側ワークユニットの最大処理時間を算出してください。


目次 索引 前ページ次ページ

Copyright 2005 FUJITSU LIMITED