Cosminexus 機能解説
CTMを使用した流量制御について説明します。
流量制御は,J2EEサーバで一度に実行される処理数の最大値を設定して,リクエストの同時実行数を制限する機能です。これによって,J2EEサーバの負荷を一定に抑え,安定した高いスループットを実現します。CPUや排他資源の競合も抑止できます。
CTMによる流量制御は,CTMデーモンおよびCTMデーモンが管理しているスケジュールキューを使用して実現します。
CTMによる流量制御の概要を,次の図に示します。この図は,J2EEアプリケーション単位でスケジュールキューを共有している場合の例です。
図11-14 CTMによる流量制御の概要
CTMデーモンでは,クライアントから受け付けたリクエストをスケジュールキューに登録して,J2EEアプリケーション単位に設定された同時実行スレッド数分ずつ実行します。クライアントからのリクエストが瞬間的に増加した場合でも,CTMデーモンによって流量が制御されるため,J2EEサーバで実行されるリクエストは同時実行スレッド数以上には増加しません。また,複数のJ2EEサーバのJ2EEアプリケーションで同じスケジュールキューを共有している場合は,そのJ2EEアプリケーション数および各J2EEアプリケーションの同時実行スレッド数の設定で,一度に処理できる業務処理プログラムを多重化できます。リクエストは,スケジュールキューの最大リクエスト登録数分まで受け付けられます。最大リクエスト登録数は,スケジュールキュー単位で設定できます。なお,スケジュールキュー単位での設定がない場合は,CTMデーモン単位の設定がデフォルトとなります。これを超えると,エラーが返却されます。
なお,J2EEアプリケーションの同時実行数の制御は,EJBコンテナでも実行できます。EJBコンテナの同時実行数制御とCTMの流量制御の組み合わせによる効果は次のとおりです。
CTMが制御するスレッドの最大値およびキューごとのリクエストの登録数は,CTMデーモンを起動するときに,ctmstartコマンドの引数-CTMDispatchParallelCountおよび-CTMMaxRequestCountに指定します。また,運用管理ポータルで構築したシステムを運用している場合は,あらかじめ論理CTMに設定しておくことができます。ctmstartコマンドまたは運用管理ポータルの設定の詳細については,マニュアル「Cosminexus リファレンス コマンド編」,またはマニュアル「Cosminexus 運用管理操作ガイド」を参照してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.