Oracle Tuxedoアプリケーション実行時の管理

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

分散アプリケーションでのネットワーク管理

このトピックには次の項が含まれます:

 


分散アプリケーション用のネットワークの構築

分散アプリケーション用のネットワークを構築する作業は、主に構成フェーズまたはセットアップ・フェーズで行われます。ネットワークを定義し、アプリケーションを起動すると、ネットワークは自動的に構築されます。

この章では、ネットワークを介してデータを移動する方法と、ネットワークに関する操作を制御する構成ファイルのパラメータを設定する方法について説明します。

 


ネットワーク・データの圧縮

Oracle Tuxedoシステムでは、アプリケーションのプロセス間で送信されるデータを圧縮できます。データ圧縮は便利な機能であり、特に、大規模な構成を運用する場合に重要です。データ圧縮は、同じマシン上でメッセージの送受信を行う場合(ローカル・データ圧縮)、または異なるマシン間でメッセージの送受信を行う場合(リモート・データ圧縮)に使用できます。データ圧縮には次の利点があります。

圧縮レベルの設定

データ圧縮を使用するには、構成ファイルのMACHINESセクションのCMPLIMITパラメータを次のように設定する必要があります。

CMPLIMIT=string_value1[,string_value2]

このパラメータの文字列値には、リモート・プロセス(string_value1)およびローカル・プロセス(string_value2)で処理されるメッセージのサイズのしきい値を指定します。最初の文字列のみが必須です。どちらの文字列も、デフォルトはMAXLONGパラメータの値です。

TMCMPPRFMパラメータを設定して、圧縮とCPUのパフォーマンスとのバランスを調整することもできます。圧縮レベルを高くすると、圧縮速度は下がりますがネットワーク帯域幅を効率的に利用できます。圧縮レベルを低くすると、圧縮速度は上がり、CPU使用率を節約できます。

圧縮レベルを指定するには、次の手順に従います。

  1. UBBCONFIG構成ファイルのCMPLIMITパラメータを使用して、圧縮のしきい値を設定します。
  2. (オプション) TMCMPPRFM環境変数を設定します。TMCMPPRFMの値には、1 - 9の範囲の1桁の数値を指定します。デフォルトは1です。
  3. 圧縮レベルの最低値1を指定すると、圧縮は最も早い速度で行われます。圧縮レベルの最高値9を指定すると、圧縮は最も遅い速度で行われます。つまり、低い数値が指定されると、圧縮ルーチンの処理速度は速くなります。

TMCMPPRFM変数の設定方法の詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』「tuxenv(5)」を参照してください。

データ圧縮のしきい値の選択

メッセージに対して圧縮のしきい値を指定することができます。つまり、指定したしきい値を超えるメッセージは圧縮されます。圧縮のしきい値を指定するには、CMPLIMITパラメータを設定します。設定の手順については、「圧縮レベルの設定」を参照してください。

データ圧縮のしきい値を選択する場合は、次の基準を参考にしてください。

圧縮方法は転送されるデータの種類によって異なるため、環境に応じた最適な設定を行うことをお薦めします。

関連項目

 


ネットワーク・リクエストのロード・バランシング

ロード・バランシングがオンになっている場合、つまりアプリケーション構成ファイルのRESOURCESセクションでLDBALYに設定されている場合、Oracle Tuxedoシステムは、リクエストをネットワーク全体に均衡化します。ロード情報はグローバルには更新されないため、各サイトにはリモート・サイトにおけるロードの独自のビューを持ちます。

構成ファイルのMACHINESセクションのNETLOADパラメータ、またはTMNETLOAD環境変数を使用すると、より多くのリクエストをローカル・キューに送るよう強制できます。このパラメータの値はリモート・キューのロードに追加されるため、リモート・キューに実際より多くの作業があるように見えます。そのため、ロード・バランシングがオンになっていても、ローカル・リクエストはリモート・キューよりもローカル・キューに頻繁に送られます。

たとえば、サーバーAとサーバーBがロード・ファクタ50のサービスを提供するとします。サーバーAは呼出し側クライアント(ローカル)と同じマシン上で稼働しており、サーバーBは別のマシン(リモート)上で稼働しています。NETLOADを100に設定すると、1つのリクエストがサーバーBに送られる度に約3つのリクエストがサーバーAに送られます。

ロード・バランシングに影響するもう1つのメカニズムは、アイドル状態のローカル・サーバーのプリファレンスです。クライアントと同じマシン上にあるサーバーが、希望するサービスを提供し、アイドル状態にある場合、このサーバーにリクエストが送られます。ローカル・サーバーは直ちに使用可能になるため、この決定はどのようなロード・バランシングの設定もオーバーライドします。

関連項目

 


データ依存型ルーティングの使用

データ依存型ルーティングは、クライアントが次のものにサービスをリクエストした場合に有用です。

水平分離型データベースは、情報を格納しておくリポジトリです。情報はカテゴリ別に保存されます。 ここれは、各本棚に異なるカテゴリ(伝記、フィクションなど)の本が収納されている図書館に似ています。

ルール・ベース・サーバーとは、サービス・リクエストをサービス・ルーチンに転送する前に、サービス・リクエストが特定のアプリケーション固有の条件を満たしているかどうかを判定するサーバーです。ルール・ベース・サーバーは、ほとんど同じ複数のリクエストに対して、ビジネス上の理由で多少異なる処理を行う場合に使用すると有用です。

注: 分散型Oracle Tuxedo CORBAアプリケーションのファクトリ・ベース・ルーティングについては、『CORBAアプリケーションのスケーリング、分散およびチューニング』を参照してください。

水平分離型データベースを使ったデータ依存型ルーティングの例

銀行取引アプリケーションで2つのクライアントが口座3と口座17という2つの口座の現在の残高を照会するリクエストを発行したとします。アプリケーションでデータ依存型ルーティングが使用されている場合、Oracle Tuxedoシステムでは次の処理が行われます。

  1. 2つのサービス・リクエストで指定された口座番号(3と17)を取得します。
  2. どのサーバーがどのデータ範囲の処理を行うかを示す、Oracle Tuxedoの掲示板のルーティング表を確認します。(この例では、サーバー1は口座1 - 10の範囲のすべてのリクエストを処理し、サーバー2は口座11 - 20の範囲のすべてのリクエストを処理します。)
  3. それぞれのリクエストを該当するサーバーに送信します。つまり、口座3へのリクエストをサーバー1に転送し、口座17へのリクエストをサーバー2に転送します。

図4-1は、このプロセスを示しています。

図4-1 水平分離型データベースでのデータ依存型ルーティング

水平分離型データベースでのデータ依存型ルーティング

ルール・ベース・サーバーでのデータ依存型ルーティングの例

次の規則を持つ銀行取引アプリケーションがあるとします。

2つのクライアントが$100と$800の引出しをリクエストしたとします。引出しの規則でデータ依存型ルーティングが有効になっている場合、Oracle Tuxedoでは次のような処理が行われます。

  1. 2つのサービス・リクエストで指定された引出し額($100と$800)を取得します。
  2. どのサーバーがいくらのリクエストの処理を行うかを示す、Oracle Tuxedoの掲示板のルーティング表を調べます。(この例では、$500までのすべての引出しリクエストをサーバー1が処理し、$500を超えるすべての引出しリクエストをサーバー2が処理しています。)
  3. それぞれのリクエストを該当するサーバーに送信します。つまり、$100のリクエストをサーバー1に転送し、$800のリクエストをサーバー2に転送します。

図4-2は、このプロセスを示しています。

図4-2 ルール・ベース・サーバーでのデータ依存型ルーティング

ルール・ベース・サーバーでのデータ依存型ルーティング

関連項目

 


ネットワーク構成の変更

アプリケーションの稼働中に構成パラメータを変更するには、tmconfig(1)を実行します。このコマンドは、Oracle Tuxedoシステム管理情報ベース(MIB)へのシェル・レベルのインタフェースです。

tmconfigを使用すると、システムを停止せずにTUXCONFIGファイルの表示や変更を行うことができます。たとえば、アプリケーションの起動中にマシンやサーバーなどの新しいコンポーネントを追加することができます。

関連項目


  先頭に戻る       前  次