Interstage Application Server OLTPサーバ運用ガイド |
目次
索引
![]() ![]() |
第2章 OLTPサーバの設計 | > 2.2 各種ワークユニット |
ワークユニット運用において、対象となるアプリケーションにCORBAアプリケーション(サーバアプリケーション)を適用することができます。CORBAアプリケーションを適用したワークユニットをCORBAワークユニットと呼びます。
Interstage管理コンソールもしくはワークユニット管理コマンドを使用して定義することができます。
CORBAワークユニットはInterstage管理コンソールを使用して運用することを推奨します。
CORBAワークユニットでは、インプリメンテーションリポジトリに登録されたCORBAアプリケーションを実行単位としています。ワークユニット定義には、CORBAアプリケーションを識別するものとして、インプリメンテーションリポジトリIDを登録します。運用単位を同一にする(同時に起動・停止を行う)CORBAアプリケーションの場合には、1つのワークユニットに複数のインプリメンテーションリポジトリIDを指定することができます。
CORBAワークユニットで運用可能なCORBAアプリケーションは、サーバタイプが"persistent"のもののみです。(OD_impl_instのtype=persistent指定のみ)
CORBAワークユニットで動作モードとして"SYNC_END"を使用する場合、ワークユニット停止時にCORBA_BOA_impl_is_readyから復帰した場合、必ずプロセスを終了する必要があります。ワークユニットの通常停止および同期停止を行った場合、"SYNC_END"であった場合、CORBA_BOA_impl_is_readyから復帰しますが、プロセスを終了するまではワークユニットの停止は待ち状態となります。そのため、必ずCORBA_BOA_impl_is_readyから復帰した場合はプロセスを終了する必要があります。
CORBAワークユニット運用における主な機能について説明します。
複数のクライアントから、1つのサーバアプリケーションへ同時に要求が出される場合、同時に処理できるサーバアプリケーションのプロセス多重度を設定することができます。プロセス多重度は、ワークユニット定義で指定します。
プロセス多重度については、1処理あたりの処理時間とクライアントへのレスポンス時間および時間あたりの要求数により、決定する必要があります。
また、プロセス多重度は必要以上に大きくすると、メモリなどシステム資源に影響がありますので妥当な多重度に設定する必要があります。
ワークユニット管理コマンドを使用してCORBAアプリケーションを定義する場合は、ワークユニット定義のほかに、インプリメンテーションリポジトリ定義でも多重度の設定を行う必要があります。
なお、ワークユニット定義のプロセス多重度は、インプリメンテーションリポジトリ定義のプロセス最大多重度より小さい値を設定する必要があります。
クライアントからの入力データの誤りなどにより、アプリケーションが異常終了した場合に、アプリケーションを自動的に再起動させることができます。自動再起動を設定すると、アプリケーションが停止中に受け付けられたクライアントからの要求についても、再起動されたアプリケーションが引き続き処理することができます。
アプリケーション自動再起動は、ワークユニット定義に設定します。設定する値は、ワークユニット異常終了となるまでの連続異常終了回数です。
連続異常終了回数とは、アプリケーションの障害などにより、該当アプリケーションが1度も正常に処理されず、異常終了と再起動が繰り返される回数です。連続して異常終了した回数に達した場合、ワークユニットは異常終了します。ワークユニットが異常終了した場合、ワークユニット内のアプリケーションのプロセスは全て停止され、該当ワークユニットでの処理中の要求はクライアントへエラーで復帰します。
ワークユニット運用では、CORBAアプリケーションの呼出しから復帰までの応答時間を監視できます。アプリケーションのハングアップや処理遅延を監視し、クライアントへのレスポンス遅延を防ぐことができます。監視時間はワークユニット定義(Maximum Processing Time:アプリケーション最大処理時間)で指定します。
また、タイムアウト発生時の処理として、アプリケーション強制停止の有無をワークユニット定義(Terminate Process for Time out:最大処理時間超過時の強制停止の有無)で指定できます。
システム例外 |
マイナーコード(16進表記) |
UNKNOWN |
0x464a0072 |
ワークユニットでタイマ監視時間を設定した場合には、CORBAサービスのconfigファイルの設定を考慮する必要があります。詳細については、“CORBAアプリケーションのタイマ監視”を参照してください。
複数のクライアントなどから特定のCORBAアプリケーションに対するリクエストが集中した場合に、すべてのリクエストの処理を起動してしまうとサーバが負荷過重状態となり、処理遅延・タイムアウトが多発する可能性があります。これを防ぐため、キュー制御機能で負荷を平準化させることができます。詳細については、“CORBAアプリケーションのキュー制御”を参照してください。
目次
索引
![]() ![]() |