bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo アプリケーションの設定 > コンフィギュレーション・ファイルの作成 |
Tuxedo アプリケーションの設定
|
コンフィギュレーション・ファイルの作成
ここでは、次の内容について説明します。
コンフィギュレーション・ファイルの作成方法
コンフィギュレーション・ファイルに指定する内容は、作成するアプリケーションによって異なります。以下は、さまざまなアプリケーションの作成手順です。
関連項目
1 台のマシンで構成するアプリケーション用のコンフィギュレーション・ファイル
1 台のマシンで構成するコンフィギュレーションでは、コンフィギュレーション・ファイルに、次のセクションを作成する必要があります。各作業をクリックすると、その作業を行う手順が表示されます。
次の図中をクリックすると、クリックしたセクションの作成方法が表示されます。
複数のマシンで構成 (分散) するアプリケーション用のコンフィギュレーション・ファイル
分散型の ATMI アプリケーションでは、コンフィギュレーション・ファイルに次のセクションを作成する必要があります。各作業をクリックすると、その作業を行う手順が表示されます。
注記 BEA Tuxedo システムで分散型 CORBA アプリケーションのコンフィギュレーション・ファイルを作成する方法については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』を参照してください。
次の図中をクリックすると、クリックしたセクションの作成方法が表示されます。
複数のドメインにまたがるアプリケーション用のコンフィギュレーション・ファイル
複数のドメインにまたがるコンフィギュレーションでは、ドメインごとに次の 2 つのコンフィギュレーション・ファイルを作成する必要があります。
たとえば、ローカル・ドメイン (lapp) とリモート・ドメイン (rapp) で構成されるアプリケーションの場合は、以下の作業が必要です。
各作業をクリックすると、その作業を行う手順が表示されます。
図 3-1 複数のドメインにまたがるサンプル・アプリケーションのコンフィギュレーション
次の図は、2 つのドメインにまたがるアプリケーションの UBBCONFIG ファイルおよび DMCONFIG ファイルで設定するセクションを示しています。片方はローカル・ドメインであり、もう一方はリモート・ドメインです。 次の図中をクリックすると、クリックしたコンフィギュレーション・ファイルのセクションの作成方法が表示されます。 図 3-2 複数のドメインにまたがるアプリケーションのコンフィギュレーション
コンフィギュレーション・ファイルの RESOURCES セクションの作成方法
コンフィギュレーション・ファイルの先頭には、必ず RESOURCES セクションを指定します。このセクションで定義されるパラメータは、アプリケーション全体を制御し、システムのデフォルト値になります。RESOURCES セクションのパラメータ値は、MACHINES セクションのマシンごとの値を変更することによって上書きできます。
次の表では、RESOURCES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
RESOURCES セクションの例 以下は、コンフィギュレーション・ファイルの RESOURCES セクションの例です。 関連項目
*RESOURCES
IPCKEY 39211
UID 0
GID 1
PERM 0660
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55
MASTER SITE1, SITE2
MODEL MP
OPTIONS LAN, MIGRATE
SECURITY APP_PW
AUTHSVC "AUTHSVC"
NOTIFY DIPIN
SYSTEM_ACCESS PROTECTED, NO_OVERRIDE
LDBAL Y
アプリケーション・タイプを定義する
BEA Tuxedo のアプリケーションのアーキテクチャについて、以下の事項を決定する必要があります。
アプリケーション・タイプを定義するには、MODEL パラメータおよび OPTIONS パラメータを使用します。
MODEL パラメータは、単一のプロセッサ上でアプリケーションを実行するかどうかを指定します。ユニプロセッサ、およびグローバル共用メモリを備えたマルチプロセッサの場合、このパラメータには SHM が設定されます。共用メモリを備えていないマルチプロセッサ、およびネットワーク接続されたアプリケーションの場合は、MODEL に MP が設定されます。これは、必須パラメータです。
OPTIONS パラメータは、アプリケーションのコンフィギュレーションに関するオプションをカンマ区切りの形式で指定したリストです。指定できるオプションは、LAN (ネットワーク構成であることを示す) および MIGRATE (アプリケーション・サーバの移行が可能であることを示す) の 2 つです。
MODEL および OPTIONS パラメータの特性
設定例 以下は、コンフィギュレーション・ファイルの RESOURCES セクションの設定例です。
*RESOURCES
MODEL MP
OPTIONS LAN, MIGRATE
バッファのタイプとサブタイプの数を制御する
アプリケーションで受け付けられるバッファのタイプおよびサブタイプの数は、MAXBUFTYPE パラメータおよび MAXBUFSTYPE パラメータで制御できます。ユーザ定義のバッファ・タイプが多数指定されていない限り、MAXBUFTYPE は省略できます。何種類もの VIEW タイプを使用する予定がある場合は、MAXBUFSTYPE に現在設定されているデフォルト値を増やしておきます。
MAXBUFTYPE および MAXBUFSTYPE パラメータの特性
l
設定例 この例では、バッファのタイプの最大数として20、サブタイプの最大数として 40 が指定されています。 *RESOURCES
MAXBUFTYPE 20
MAXBUFSTYPE 40
会話の数を制御する
MAXCONV パラメータを使用すると、マシン上で同時に実行できる会話数を指定できます。MAXCONV には、0 より大きく 32,768 未満の値を指定します。
MAXCONV パラメータの特性
MAXCONV パラメータには、以下の特性があります。
設定例
この例では、各マシンで同時に実行できる会話の最大数が 15 に設定されています。
*RESOURCES
MAXCONV 15
IPC 資源の上限値を定義する
ほとんどの IPC および共用メモリの掲示板テーブルは、高速処理用に静的に割り当てられているため、正しくチューニングすることが重要です。値の設定が大きすぎると、メモリと IPC 資源が無駄に消費されます。逆に、値の設定が小さすぎると、IPC 資源の上限を超えた時点でプロセスが異常終了します。tmloadcf -c コマンドを使用すると、アプリケーションに必要な IPC 資源の上限を確認できます。『BEA Tuxedo コマンド・リファレンス』の tmloadcf(1) を参照してください。
MAXACCESSERS、MAXSERVERS、MAXSERVICES、MAXINTERFACES、および MAXOBJECTS は、IPC 資源のサイズを決める、調整可能なパラメータです。アプリケーションに割り当てられる共用メモリの容量は、MAXGTT および MAXCONV パラメータによって制御されます。
MAXACCESSERS、MAXSERVERS、MAXSERVICES、MAXINTERFACES、および MAXOBJECTS パラメータの特性
注記 システム提供されるサーバには、AUTHSVR、TMQUEUE、TMQFORWARD、TMUSREVT、TMSYSEVT、TMS、TMS_QM、GWTDOMAIN、および WSL があります。 MAXACCESSERS の値を増やすと、サイトごと、および、クライアントまたはサーバ・プロセスごとに、別のセマフォが必要になります (アクセサについては注記を参照)。MAXACCESSERS の値を増やすことによって追加されるセマフォのほか、システム・プロセスでもわずかなセマフォのオーバーヘッドが発生します。一方、MAXSERVERS および MAXSERVICES の値を増やしても、各サーバ、サービス、またはクライアント・エントリに用意されている程度の少量の共用メモリしか消費されません。MAXSERVERS および MAXSERVICES パラメータは、アプリケーションの拡張に対応するために用意されています。これらのパラメータより、MAXACCESSERS を詳細に調べる方が重要です。 注記 システムでは、掲示板へのアクセス・スロットごとに 1 つのセマフォが割り当てられます。セマフォは、複数のプロセスが、掲示板の共用メモリに同時にアクセスしないようにするラッチ回路です。 BEA Tuxedo のリリース 7.1 より前の MAXACCESSERS および MAXSERVERS パラメータは、ユーザ・ライセンス数をチェックするしくみと関連付けられていました。つまり、アプリケーションで実行中の 1 台以上のマシンの MAXACCESSERS の数と、特定のマシンの MAXACCESSERS の数の合計が、MAXSERVERS の数とユーザ・ライセンス数の合計より大きい場合、マシンを起動することはできませんでした。したがって、アプリケーションの MAXACCESSERS パラメータには、MAXSERVERS の数とユーザ・ライセンス数の合計か、またはそれより小さい値を指定しなければなりませんでした。 BEA Tuxedo のリリース 7.1 以降では、アプリケーションに設定されているユーザ・ライセンスの数と、現在使用されているユーザ・ライセンスの数に基づいて、ライセンスのチェックが行われます。すべてのユーザ・ライセンスが使用中になると、アプリケーションに新しいクライアントが参加することはできなくなります。 設定例 この例では、最大 75 のプロセス (クライアントおよびサーバ) が同時にシステムにアクセスできます。掲示板では、40 サーバが 55 のサービスを宣言できます。
*RESOURCES
MAXACCESSERS 75
MAXSERVERS 40
MAXSERVICES 55
ロード・バランシングを有効にする
BEA Tuxedo では、アプリケーション全体に対し、ロード・バランシングのアルゴリズムを使用するかどうかを制御できます。ロード・バランシングを使用すると、ロード・ファクタがシステム内の各サービスに適用され、各サーバの負荷の合計を監視できます。各サービス要求は、負荷が最も少ない適切なサーバに送信されます。
ロード・バランシングを使用するかどうかを指定するには、LDBAL パラメータに Y (はい) または N (いいえ) を設定します。デフォルトでは N が設定されます。
ロード・バランシングは、必要な場合のみ、つまり、複数のキューを使用するサーバによってサービスが提供される場合にのみ使用します。1 つのサーバによって提供されるサービス、または MSSQ セット (複数サーバ、単一キュー) のサーバによって提供されるサービスに対してロード・バランシングを設定する必要はありません。コンフィギュレーションにこのようなタイプのサービスしかない場合、LDBAL パラメータを N に設定します。LDBAL が N に設定されているときに複数のキューが同じサービスを提供すると、最初に使用可能なキューが選択されます。
LDBAL パラメータの特性
LDBAL パラメータには、以下の特性があります。
設定例
この例では、アプリケーションでロード・バランシングが有効になっています。
*RESOURCES
LDBAL Y
関連項目
マスタ・マシンを識別する
MASTER マシンは、アプリケーションの起動およびアプリケーション全体の管理を制御します。各アプリケーションでは、必ず MASTER パラメータを設定してMASTER マシンを指定する必要があります。MASTER には、該当するコンピュータの論理マシン識別子 (LMID) を指定します。LMID は、管理者が指定する英数字の文字列であり、MACHINES セクションの LMID パラメータに割り当てられます。したがって、LMID パラメータの値が SITE1 の場合、MASTER の値も SITE1 でなければなりません。
アプリケーションをシャットダウンせずに MASTER マシンを終了するには、MASTER を移行できるようにしておく必要があります。移行を行うには、LMID に、プライマリ MASTER とバックアップ MASTER を指定する必要があります。
MASTER パラメータの特性
MASTER パラメータには、以下の特性があります。
設定例
Site1 は MASTER マシン、SITE2 はバックアップ・マシンです。
*RESOURCES
MASTER SITE1, SITE2
ネットワーク・グループの最大数を指定する
設定済みのネットワーク・グループの最大数を指定するには、MAXNETGROUPS パラメータを設定します。値には、1 以上 8192 未満を指定します。デフォルト値は 8です。これは、オプション・パラメータです。
正常性チェックおよびブロッキング・タイムアウトを指定する
BBL は、定期的 (デフォルトでは 120 秒ごと) にマシン上のサーバの正常性をチェックします。ただし、この間隔は、SCANUNIT および SANITYSCAN パラメータを設定して変更することができます。さらに、BLOCKTIME パラメータを設定して、メッセージ、トランザクション、およびその他のシステム・アクティビティをブロッキングする際のタイムアウト値を設定することもできます。値は、5 の正の倍数で指定します。
サーバの正常性チェックを行うときに、次のチェックまでに繰り返す SCANUNIT の回数を指定するには、SANITYSCAN パラメータを使用します。現在のデフォルト値は、SANITYSCAN × SCANUNIT が約 120 秒になるように設定されています。
SCANUNIT、SANITYSCAN、および BLOCKTIME パラメータの特性
ATMI 操作のブロックとタイムアウト タイムアウトとは、集合的に、次の期間を示します。
ブロッキング・タイムアウトとは、ブロックされているクライアント要求が、ブロック解除されるまでの期間のことです。非同期型のサービス要求および会話のブロッキング・タイムアウトは、個々の送受信操作に対して適用されます。tpacall (3c)、tpconnect (3c)、または tpsend (3c) を使用してメッセージが送信される場合は、キューがいっぱいであり、送信されたメッセージがキューへの登録を待機する場合にのみタイムアウトが適用されます。メッセージを受信するための tpgetrply (3c) または tprecv(3c) 呼び出しがクライアント・プロセスから発行される場合、タイムアウトは、キューが空の場合にクライアントがメッセージの受信を待機する期間になります。
設定例
この例では、正常性チェックが 30 秒 ごとに実行されます。要求が 10 秒以上ブロックされることはありません。SCANUNIT に 10 が指定され、SANITYSCAN に 3 が指定されているため、10 秒の 3 倍、つまり 30 秒が経過すると、次のチェックが BBL により行われます。
*RESOURCES
SCANUNIT 10
SANITYSCAN 3
BLOCKTIME 1
オペレーティング・システム・レベルのセキュリティを設定する
UID、GID、および PERM の 3 つのパラメータを設定すると、BEA Tuxedo の管理機能へのアクセスを、認可された管理者だけに制限できます。
UID および GID のデフォルト値は、アプリケーションのコンフィギュレーションの際に tmloadcf(1) コマンドを実行したユーザのユーザ ID (UID の場合) およびグループ ID (GID の場合) になります。ただし、MACHINES セクションの値を上書きして、この設定を変更することもできます。
UID、GID、および PERM パラメータの特性
注記 リモート・マシンに対して割当てられている上記のパラメータは、上書きできます。リモート・マシンと MASTER マシンのユーザ ID およびグループ ID は、同じでなくてもかまいません。デフォルト値を上書きするには、コンフィギュレーション・ファイルの MACHINES セクションで、別のユーザ ID およびグループ ID を指定します。特に値を指定しない場合は、RESOURCES セクションで指定した値が使用されます。
セキュリティ・レベルを指定する
以下の 3 つのセキュリティ・レベルを設定できます。
SECURITY および AUTHSVC パラメータの特性
関連項目
サーバのセキュリティ属性を定義する
SEC_PRINCIPAL_NAME、SEC_PRINCIPAL_LOCATION、および SEC_PRINCIPAL_PASSVAR パラメータを使用すると、認証用のサーバのセキュリティ属性を指定できます。
注記 上記の方針は、ワークステーション・ハンドラ、Domains のゲートウェイ処理、および相互運用するアプリケーション・サーバに適用されます。
関連項目
共用メモリを保護する
SYSTEM_ACCESS パラメータを使用すると、共用メモリにあるシステム・テーブルを、アプリケーション・クライアントとアプリケーション・サーバから保護できます。このパラメータを指定しておくと、アプリケーションの開発中に、欠陥のあるアプリケーション・コードが不当なポインタによって誤って共用メモリの内容を破壊することを防ぐことができます。アプリケーションが完全にデバッグされ、テストされたら、パラメータの値を変更して、応答が早く返されるように設定できます。このパラメータの有効な値は、次のとおりです。
値を選択した後で NO_OVERRIDE を指定すると、選択したオプションをクライアントや管理者が変更できなくなります (クライアントの場合は tpinit() 呼び出しの TPINIT 構造体、管理者の場合は SERVERS セクションで指定)。
PROTECTED、FASTPATH、および NO_OVERRIDE パラメータの特性
設定例
SYSTEM_ACCESS PROTECTED、NO_OVERRIDE
アプリケーションのシステム資源のアドレスを設定する
共用メモリのアドレスを設定するには、IPCKEY パラメータを設定します。このパラメータにより、BEA Tuxedo システムは、アプリケーションに対して IPC 資源を割り当てます。これにより、新たにアプリケーションに参加したプロセスは IPC 資源を簡単に見つけることができます。キーの値は、新しいアプリケーション・プロセスに対して掲示板、メッセージ・キュー、およびセマフォを割り当てるために内部で使用されます。単一プロセッサ・モードでは、このキーが掲示板を指定します。マルチプロセッサ・モードでは、このキーが DBBL のメッセージ・キューを指定します。
IPCKEY パラメータの特性
IPCKEY パラメータには、以下の特性があります。
設定例
*RESOURCES
IPCKEY 39211
任意通知型メッセージの受信方法を指定する
NOTIFY パラメータを使用すると、クライアントが任意通知型メッセージを受信するデフォルトの方法を設定できます。ただし、クライアントは、tpinit() を呼び出してこの設定を上書きできます。
以下の 4 つの方法が可能です。
注記 この方法は、マルチスレッド化されたアプリケーションまたはマルチコンテキスト化されたアプリケーションでは使用できません。
USIGNAL パラメータは、SIGNAL ベースの通知を使用する場合に使用されるシグナルを指定します。SIGUSR1 と SIGUSR2 の 2 種類のシグナルが生成されます。デフォルト設定は SIGUSR2 です。この方法を使用すると、直ちに通知を返すことができますが、ネイティブ・クライアントを実行しているときは、制限があります。つまり、送信プロセス側のユーザ ID が同じでなければなりません。ただし、ワークステーション・クライアントには、この制限はありません。
注記 この方法を適用できないプラットフォームもあります。
NOTIFY および USIGNAL パラメータの特性
コンフィギュレーション・ファイルの MACHINES セクションの作成方法
コンフィギュレーション・ファイルの 2 番目のセクションには、必ず MACHINES セクションを指定します。MACHINES セクションでは、アプリケーション内の各マシンに対するパラメータを定義します。これらのパラメータは、次の情報を指定します。
注記 UID、GID、PERM、MAXACCESSERS、MAXOBJECTS、MAXCONV、および MAXGTT は、上書きできます。MAXGTT 以外のパラメータについては、RESOURCES セクションを参照してください。
次の表では、MACHINES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
MACHINES セクションの例 以下は、ATMI 環境のコンフィギュレーション・ファイルの MACHINES セクションの例です。 以下は、CORBA 環境のコンフィギュレーション・ファイルの MACHINES セクションの例です。 MACHINES セクションの例のパラメータ 上の MACHINES セクションの例では、以下のパラメータと値が指定されています。
*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE”
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100
MAXCONV=15*MACHINES
gumby LMID=SITE1
TUXDIR=”/tuxdir”
APPDIR=”/home/apps/mortgage”
TUXCONFIG=”/home/apps/mortgage/tuxconfig”
ENVFILE=”/home/apps/mortgage/ENVFILE”
MAXOBJECTS=700
ULOGPFX=”/home/apps/mortgage/logs/ULOG”
MAXACCESSERS=100
MACHINES セクションの例のカスタマイズ方法 MACHINES セクションをカスタマイズするには、以下を指定します。
注記 Windows 2000 システムの場合、マシン名は大文字で指定する必要があります。
関連項目
キャッシュ内の ACL 用エントリの最大数を指定する
SECURITY が ACL または MANDATORY_ACL に設定されている場合は、MAXACLCACHE パラメータを使用して、キャッシュ内の ACL 用エントリの数を指定できます。このパラメータに適切な値を設定すると、以下のことを実現できます。
値には、10 〜 30,000 を指定します。デフォルト値は 100 です。
サービス要求の負荷を定義する
NETLOAD パラメータを使用すると、1 つのマシンから別のマシンへサービス要求を送信するときにかかるコストを計算する際に追加する負荷を指定できます。値には、0 以上 32,768 未満を指定します。デフォルト値は 0 です。
関連項目
物理アドレスとマシン ID を予約する
まず、アドレスを指定する箇所に、MASTER マシンのアドレスを定義します。これが、MACHINES セクションのエントリの基本となります。エントリ内のその他のすべてのパラメータは、このアドレスで指定されたマシンに関する情報を指定します。UNIX システムの場合は、uname -n コマンドを呼び出し、出力された値にアドレスを設定します。Windows 2000 システムの場合は、[コントロール パネル] の [ネットワーク] にある [コンピュータ名] を参照してください。
LMID パラメータは必須パラメータです。このパラメータは、アドレスを指定したばかりのコンピュータを示す論理名を指定します。論理名には、アプリケーション内のマシン間で一意な英数字を指定します。
アドレスと LMID パラメータの特性
アドレスおよびマシン ID には、以下の特性があります。
address LMID=logical_machine_name
アドレス (address) は、物理プロセッサ名を示します。
LMID=logical_machine_name
LMID は物理プロセッサに対する論理マシン名です。論理マシン名には、MACHINES セクションで一意な英数字を指定します。
ロック・スピンの回数を設定する
BEA Tuxedo システムの一部の操作 (サービス名のルックアップやトランザクションなど) では、掲示板をロックし、掲示板へのアクセスを 1 つのプロセスだけに制限する場合があります。プロセスまたはスレッドの処理中に、別のプロセスまたはスレッドによって掲示板がロックされていることがわかると、その処理は再試行されるか、または SPINCOUNT で指定された回数のロック・スピンが行われます。指定された回数のロック・スピンが行われた後、処理はキューでスリープ状態になります。スリープ状態は資源を消費するため、一定のロック・スピンを行ってからスリープ状態になるように設定しておく方が効率的です。
SPINCOUNT パラメータの特性
SPINCOUNT パラメータの値は、アプリケーションおよびシステムによって異なりますが、以下の基本的なガイドラインを覚えておくと便利です。
マシンをタイプ別に指定する
TYPE パラメータを使用すると、マシンをクラスごとにグループ化できます。TYPE には、15 文字以下の任意の文字列を設定できます。
TYPE パラメータの特性
コンフィギュレーション・ファイルのロケーションを識別する
コンフィギュレーション・ファイルのロケーションおよびマシンを識別するエントリ・ファイル名を指定するには、必須パラメータの TUXCONFIG を設定します。TUXCONFIG パラメータには、最大 64 文字までの絶対パス名を指定し、値は二重引用符で囲みます。
注記 このパラメータに指定するパス名は、TUXCONFIG 環境変数に指定したパス名 (大文字小文字の区別も含む) と完全に一致しなければなりません。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。
TUXCONFIG パラメータの特性
TUXCONFIG パラメータには、以下の特性があります。
DTP トランザクション・ログのサイズを指定する
TLOGSIZE パラメータは、このマシンの DTP トランザクション・ログのサイズをページ単位で指定します。オペレーティング・システムのファイルシステム上の空き容量に応じ、0 より大きく 2048 以下の値を指定します。デフォルトは 100 ページです。
DTP トランザクション・ログの名前を定義する
TLOGNAME パラメータは、このマシンの DTP トランザクション・ログの名前を定義します。デフォルト値は、TLOG です。1 つの TLOGDEVICE に複数の TLOG がある場合、各 TLOG の名前は一意でなければなりません。TLOGNAME には、TLOG テーブルの作成先である TLOGDEVICE の VTOC (ボリューム一覧) 内のテーブル名とは異なる名前を指定する必要があります。TLOGNAME には、30 文字以下の英数字を指定します。
環境変数の設定を指定する
ENVFILE パラメータを使用すると、BEA Tuxedo システムが起動するすべてのプロセスに対する環境変数を格納したファイルを指定できます。各プロセスの TUXDIR および APPDIR は、システム側で設定されます。したがって、これらのパラメータはファイル内で指定しないでください。
ただし、アプリケーション操作に関連する次のパラメータについては、環境設定を指定できます。
ENVFILE パラメータの特性
ENVFILE は、以下の特性を持つオプション・パラメータです。
環境変数の設定の詳細については、『BEA Tuxedo のファイル形式とデータ記述方法』の tuxenv(5) を参照してください。
TLOG を含む BEA Tuxedo ファイルシステムを定義する
TLOGDEVICE パラメータは、該当するマシンの DTP トランザクション・ログ (TLOG) を含む BEA Tuxedo のファイルシステムを指定します。TLOG は、BEA Tuxedo システムの VTOC テーブルとしてデバイスに格納されています。TLOGDEVICE の値は、64 文字以下の文字列でなければなりません。
このパラメータを指定しない場合、そのマシンには TLOG がないものと見なされます。
マシンで同時に実行できるグローバル・トランザクションの最大数を指定する
MAXGTT パラメータは、特定のマシンが同時に関与できるグローバル・トランザクションの最大数を指定します。このパラメータには、0 以上 32,768 未満の値を指定します。RESOURCES セクションで指定した値は、MACHINES セクションでマシンごとに上書きできます。
ワークステーション・クライアントのアクセサ・エントリ数を定義する
MAXWSCLIENTS パラメータは、ワークステーション・クライアント用に確保しておくマシン上のエントリ数を定義します。MAXWSCLIENTS 用に確保しておくアクセサ・スロットの数は、慎重に設定してください。この値は、このマシンの MAXACCESSERS で指定したアクセサ総数のうちの一部になります。このマシンのほかのクライアントやサーバは、MAXWSCLIENTS 用に確保されたアクセサ・スロットを使用できません。ワークステーション・クライアントからシステムへのアクセスは、BEA Tuxedo システムに組み込まれている代理プロセス、つまり BEA Tuxedo ワークステーション・ハンドラ (WSH) によって多重化されます。そのため、このパラメータを適切に設定すると、IPC 資源を節約できます。
MAXWSCLIENTS には、0 以上 32,768 未満の値を指定します。値を指定しない場合は、デフォルト値の 0 が設定されます。この値を MAXACCESSERS の値より大きい値に設定すると、エラーが返されます。
注記 MAXWSCLIENTS の値は、ライセンス供与されているユーザ数によって制限されます。
BRIDGE 経由で送信されるメッセージ用の領域を定義する
MAXPENDINGBYTES パラメータは、BRIDGE プロセスによる送信を待機するメッセージに割り当てる領域の制限を定義します。値には、100,000 から MAXLONG までの値を指定します。
MAXPENDINGBYTES が重要になるのは、以下の 2 つの状況です。
メモリおよびディスク領域のサイズが大きい大型コンピュータの場合は MAXPENDINGBYTES の値を大きくし、小型のコンピュータの場合は MAXPENDINGBYTES の値を小さくします。
DTP トランザクション・ログのオフセットを指定する
どの BEA Tuxedo ファイルシステムにもボリューム一覧 (VTOC: Volume Table of Contents) があります。これは、汎用デバイス・リスト (UDL: Universal Device List) で指定されたデバイス上のファイルの一覧です。UDL には、BEA Tuxedo システム・テーブルの物理的な格納位置が指定されています。BEA Tuxedo システムのアプリケーションでは、すべてのシステム・ファイルを同じ raw ディスクやオペレーティング・システムのファイルシステム上に格納することができます。
TLOGOFFSET パラメータは、このマシンのデバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの DTP トランザクション・ログを格納) までのオフセットをページ単位で指定します。オフセットには、0 以上でデバイス上のページ数より小さい値を指定します。デフォルト値は 0 です。
TUXCONFIG のオフセットを定義する
どの BEA Tuxedo ファイルシステムにもボリューム一覧 (VTOC: Volume Table of Contents) があります。これは、汎用デバイス・リスト (UDL: Universal Device List) で指定されたデバイス上のファイルの一覧です。UDL には、BEA Tuxedo システム・テーブルの物理的な格納位置が指定されています。BEA Tuxedo システムのアプリケーションでは、すべてのシステム・ファイルを同じ raw ディスクやオペレーティング・システムのファイルシステム上に格納することができます。
TUXOFFSET パラメータは、このマシンのデバイスの先頭から BEA Tuxedo ファイルシステムの開始点 (このマシンの TUXCONFIG を格納) までのオフセットをページ単位で定義します。この値が環境でどのように使用されるかについては、MACHINES セクションの ENVFILE を参照してください。
TUXOFFSET パラメータの特性
システム・ソフトウェアおよびアプリケーション・サーバ・ソフトウェアのロケーションを識別する
サーバをサポートするアプリケーション内の各マシンは、BEA Tuxedo システム・ソフトウェアおよびアプリケーション・サーバのコピーを備えている必要があります。システム・ソフトウェアのロケーションは、TUXDIR パラメータで指定します。アプリケーション・ソフトウェアのロケーションは、APPDIR パラメータで指定します。どちらも必須パラメータです。APPDIR パラメータで指定したディレクトリは、すべてのプロセスの現在の作業ディレクトリになります。BEA Tuxedo ソフトウェアは、TUXDIR/bin および APPDIR 内で実行可能ファイルを検索します。
APPDIR および TUXDIR パラメータの特性
圧縮するメッセージのしきい値を指定する
CMPLIMIT パラメータは、リモート・プロセス (string_value1) およびローカル・プロセス (string_value2) に送信される、自動圧縮の対象となるメッセージのしきい値を定義します。このしきい値を超えると、メッセージは圧縮されます。
どちらの値も、負以外の整数または文字列 MAXLONG でなければなりません。値を指定しない場合は、デフォルトの MAXLONG,MAXLONG が指定されます。
注記 CMPLIMIT の値を設定した後で、アプリケーションのスループットを確認します。CMPLIMIT の値は TMIB を使用してシステムの実行中に調整できます。
例
CMPLIMIT=string_value1,string_value2
ULOG のパス名を指定する
ULOGPFX パラメータを設定すると、マシン上の userlog(3c) メッセージ・ファイルの接頭辞として使用する名前の絶対パス名を指定できます。指定したマシンの ULOGPFX の値は、このマシン上で実行されるすべてのサーバ、クライアント、および管理プロセスに関する userlog(3c) メッセージ・ファイルを作成するために使用されます。このパラメータが指定されない場合、APPDIR 環境変数で指定されたパスが使用されます。mmddyy (月、日、年) が接頭辞に追加されると、完全なログ・ファイル名になります。
ULOGPFX パラメータの特性
ULOGPFX パラメータには、以下の特性があります。
関連項目
コンフィギュレーション・ファイルの GROUPS セクションの作成方法
GROUPS セクションでは、複数のサーバを論理的にグループ化することができます。グループ化したサーバを使用すると、リソース・マネージャにアクセスしたり、サーバ・グループの移行を簡単に行うことができます。コンフィギュレーション・ファイルの GROUPS セクションでは、サーバ・グループが定義されています。アプリケーション・サーバをマシン上で実行するには、マシンに対して少なくとも 1 つのサーバ・グループを定義する必要があります。ただし、マシンに対してサーバ・グループが定義されていなくても、アプリケーションの一部にグループを含め、そのサイトから管理コマンド tmadmin(1) を実行できます。
トランザクションに関与しない非分散型のシステムでは、グループのコンフィギュレーションは比較的単純です。各グループに対して、グループ名をグループ番号および論理マシン ID にマッピングするだけです。分散トランザクション・システムをサポートする柔軟性も備えられています。
次の表では、GROUPS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
ATMI の GROUPS セクションの例 以下は、ATMI 環境のコンフィギュレーション・ファイルの GROUPS セクションの例です。 CORBA 環境の GROUPS セクションの例 以下は、Tuxedo CORBA University の Production サンプル・アプリケーションの UBBCONFIG ファイルにある、GROUPS セクションの例です。この例では、UBBCONFIG ファイルの ROUTING セクションにある RANGES 識別子で指定されたグループを識別し、設定する必要があります。 Production サンプルでは、ORA_GRP1、ORA_GRP2、APP_GRP1、 および APP_GRP2 の 4 つのグループが指定されています。ここでは、これらのグループを設定し、実行するマシンを識別しなければなりません。 上の例は、ORA_GRP1、ORA_GRP2、APP_GRP1、 および APP_GRP2 グループの設定方法を示しています。GROUPS セクションのグループ名と、ROUTING セクションで指定されたグループ名の対応については、 3-123 ページの「University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング」を参照してください。ルーティング機能を正しく動作するには、両方のグループ名を一致させる必要があります。また、アプリケーションでグループを設定する際にグループ名を変更した場合は、ROUTING セクションにも反映しなければなりません。 注記 BEA Tuxedo ソフトウェアに収録されている Production サンプル・アプリケーションは、1 台のマシンで実行するように設定されていますが、LMID パラメータでほかのマシンを指定することにより、複数のマシンで実行するように設定することもできます。この方法は、RESOURCES セクションで MODEL MP パラメータが指定されていることを前提としています。 関連項目
##EVBGRP1 LMID=SITE1 GRPNO=104
DEFAULT:TMSNAME=TMS_SQL TMSCOUNT=2 LMID=SITE1
BANKB1GRPNO=1 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl1:bankdb:readwrite"
BANKB2GRPNO=2 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl2:bankdb:readwrite"
BANKB3GRPNO=3 OPENINFO="TUXEDO/SQL:APPDIR1/bankdl3:bankdb:readwrite"*GROUPS
APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS
APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS
ORA_GRP1
LMID = SITE1
GRPNO = 4OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
ORA_GRP2
LMID = SITE1
GRPNO = 5OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
グループ名、グループ番号、および LMID を指定する
GROUPS セクションの基本であるグループ名は、グループを識別する名前であり、英数字で指定します。グループ名により、グループの論理名 (string_value) が決まります。各グループには、一意なグループ番号 (GRPNO) が指定されます。これは、必須パラメータです。各グループは、すべて 1 つの論理マシン (LMID) 上に常駐する必要があります。
LMID は、このサーバ・グループが MACHINES セクションの string_value1 というシンボリック名で指定されているマシンに存在することを示します。
グループ名、グループ番号、および LMID の特性
関連項目
TMS の名前および各グループの TMS の数を指定する
分散トランザクション、つまり、複数のリソース・マネージャまたはマシンにわたるトランザクションに参加するサーバを含むサーバ・グループのエントリには、トランザクション・マネージャ・サーバ (TMS: Transaction Manager Server) を指定する必要があります。TMS を指定するには、TMSNAME パラメータを設定します。このパラメータは、サーバ・グループの起動時に tmboot(1) が実行するファイル (string_value) を指定します。
値「TMS」は、ヌル XA インターフェイスの使用を示すために予約されています。このインターフェイスは、リソース・マネージャのないサーバ・グループ用に使用できます。ただし、リソース・マネージャがない場合は、TMS も必要ありません。このサーバ・グループは、トランザクションに関与するメッセージの影響を受けます。「TMS」以外で、さらに空ではない値が指定された場合は、このエントリの LMID 値に関連するマシンに対して、TLOGDEVICE を指定する必要があります。各 TM サーバには、一意なサーバ識別子が自動的に割り当てられます。サーバは何度でも再起動できます。
TMSNAME が指定されている場合は、TMSCOUNT=number も指定し、関連するサーバ・グループ用の TMS の数を設定する必要があります。TMSCOUNT のデフォルト値は 3 です。このパラメータに 0 以外の値を指定する場合、指定できる最小値は 2、最大値は 256 です。サーバは、自動的に MSSQ セットに設定されます。
グループ内のサーバの環境ファイルの場所を識別する
ENVFILE 環境変数 (ENVFILE=string_value) に不正なファイル名が指定された場合、環境には何も値が設定されません。環境ファイルの各行は、ident=value の形式で指定します。ident は下線 (_) または英数字で構成します。
value 内の ${env} という形式の文字列は、ファイルの処理時に、環境内の既存の変数を使用して展開されます。前方参照はサポートされていません。値が設定されていない場合、変数は空の文字列に置換されます。バックスラッシュ (¥) を使用すると、ドル記号 ($) およびバックスラッシュ自体をエスケープできます。その他のシェルのクォーテーションおよびエスケープのメカニズムは無視され、展開された value がそのまま環境に組み込まれます。
環境ファイルは、コンフィギュレーション・ファイル内の少なくとも 2 つのセクションに用意されています。BEA Tuxedo システムでは、次の順序で環境ファイルが読み取られます。
SERVERS セクションの値は、GROUPS セクションの値を上書きします。GROUPS セクションの値は、MACHINES セクションの値を上書きします。
リソース・マネージャをオープンおよびクローズするときに必要な情報を定義する
OPENINFO および CLOSEINFO パラメータには、256 以下の英数字で構成する文字列を二重引用符で囲んで指定します。これらの設定は、このグループ (グループ名) のリソース・マネージャをオープンおよびクローズするときに必要な、リソース・マネージャに依存する情報を指定します。
このグループの TMSNAME パラメータが設定されていないか、または TMS が設定されている場合、この値は無視されます。TMSNAME パラメータに TMS 以外の値が設定されているが、OPENINFO 文字列にヌル文字列 ("") が設定されているか、または何も設定されていない場合は、このグループ用のリソース・マネージャは存在するが、open 操作を実行するための情報は不要であることを示します。TMSNAME パラメータに TMS 以外の値が設定されているが、CLOSEINFO 文字列にヌル文字列 ("") が設定されているか、または何も設定されていない場合は、このグループ用のリソース・マネージャは存在するが、close 操作を実行するための情報は不要であることを示します。
OPENINFO 文字列の形式は、基となるリソース・マネージャのベンダごとに異なります。ベンダ固有の情報の先頭には、トランザクション・インターフェイス (XA インターフェイス) の公開名とコロン (:) が付きます。
たとえば、BEA Tuxedo /Q データベースの場合、OPENINFO は次のような形式になります。
上記の設定では、TUXEDO/QM が BEA Tuxedo /Q XA インターフェイスの公開名です。qmconfig は、キュー・スペースを設定する QMCONFIG (『BEA Tuxedo コマンド・リファレンス』の qmadmin(1) を参照) の名前です。qspace はキュー・スペースの名前です。Windows 2000 では、qmconfig の後に指定する区切り文字として、セミコロン (;) を使用します。
注記 BEA Tuxedo /Q データベースでは、CLOSEINFO 文字列は使用されません。
その他のベンダのデータベースでは、OPENINFO 文字列の形式は、基となるリソース・マネージャのベンダごとに異なります。たとえば、次の OPENINFO 文字列は、Oracle のリソース・マネージャをオープンするときに必要な情報を示します。
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/Scott/*****+SesTm=30+LogDit=/tmp"
Oracle_XA は、Oracle XA インターフェイスの公開名です。OPENINFO 文字列内の 5 つの連続するアスタリスク (*) は、暗号化されたパスワードを示します。次に、パスワードについて説明します。
リソース・マネージャに渡される OPENINFO 文字列内のパスワードは、平文または暗号化された形式で格納されます。パスワードを暗号化するには、まず、OPENINFO 文字列内のパスワードが必要な場所に、5 つ以上の連続するアスタリスクを入れます。次に、tmloadcf(1) コマンドを実行して、UBBCONFIG ファイルをロードします。tmloadcf() は、アスタリスクの文字列を検出すると、パスワードの作成をユーザに要求します。次に例を示します。
tmloadcf -y /usr5/apps/bankapp/myubbconfig
Password for OPENINFO (SRVGRP=BANKB3):
password
tmloadcf() は、暗号化したパスワードを TUXCONFIG ファイルに格納します。tmunloadcf(1) を使用して TUXCONFIG ファイルから UBBCONFIG ファイルを再び生成すると、パスワードは、暗号化された形式 (@@ で区切られる) で UBBCONFIG ファイルに出力されます。次に例を示します。
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/Scott/@@A0986F7733D4@@+SesTm=30+LogDit=/tmp"
tmloadcf() の実行時に、tmunloadcf() によって生成された UBBCONFIG ファイル内で暗号化されたパスワードが検出されても、ユーザに対してパスワードの作成は要求されません。
コンフィギュレーション・ファイルの NETWORK セクションの作成方法
分散アプリケーションが複数のマシンで構成されている場合は、コンフィギュレーション・ファイルに NETWORK セクションを作成する必要があります。このセクションは、マシン間の通信を設定します。ネットワーク・グループを作成するには、アプリケーションの UBBCONFIG ファイルで、NETGROUPS セクションおよび NETWORK セクションを設定します。
次の表では、NETWORK セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
NETWORK セクションの例 以下は、2 サイトを含むコンフィギュレーション・ファイルの NETWORK セクションの例です。 関連項目
*NETWORK
SITE1 NADDR="//mach1:80952"
NLSADDR="//mach1:serve"
# SITE2 NADDR="//mach386:80952"
NLSADDR="//mach386:serve"
BRIDGE プロセス用のデバイス名を指定する
LMID 上に置かれた BRIDGE プロセスで使用するデバイス名を指定し、ネットワークにアクセスするには、BRIDGE パラメータを次のように設定します。
BRIDGE=string_value
TCP/IP を使用する場合は、BRIDGE にデバイス名を指定する必要はありません。
ネットワーク・トランスポートのエンドポイント・ファイルのパス名は、次の形式で指定します。
/dev/provider_name
BRIDGE のネットワーク・アドレスを割り当てる
LMID の接続指示受け付けアドレスとして、LMID 上に置かれている BRIDGE プロセスで使用する完全なネットワーク・アドレスを指定するには、NADDR パラメータを次のように設定します。
NADDR = string_value
BRIDGE の接続指示受け付けアドレスは、アプリケーションの別の BRIDGE プロセスがその BRIDGE プロセスにアクセスするロケーションです。
BRIDGE の接続指示受け付けアドレスは、次の 3 つのうち、いずれかの形式で指定できます。
最初の形式では、host.name は、アドレスがバインドされるときに TCP/IP のアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。 port_number には、シンボリック名または 10 進数を指定します。
2 番目の形式の文字列 #.#.#.# は、ドット区切りの 4 つの 10 進数 (0 〜 255 を指定) を示します。port_number は、0 〜 65,535 の 10 進数です (指定された文字列の 16 進表現)。 port_number には、シンボリック名または 10 進数を指定します。
3 番目の形式の文字列 0xhex-digits または ¥¥xhex-digits には、有効な 16 進数の偶数を含めます。2 つのうち、どちらかの形式で表現された文字列は、内部で TCP/IP アドレスを含む文字配列に変換されます。
注記 プラットフォームによっては、システム側で、上記より小さい数値が予約されている場合があります。
暗号化レベルを割り当てる
このマシンに対してネットワーク・リンクを確立するときに必要な暗号化の最低レベルを設定するには、MINENCRYPTBITS パラメータを設定します。有効な値は、0、56、および 128 です。0 は暗号化を行わないことを示し、56 および 128 は暗号化キーの長さをビット単位で指定します。ここで指定する最小レベルの暗号化が満たされない場合、リンクの確立は失敗します。デフォルト値は 0 です。
ネットワーク・リンクを確立するときの暗号化の最大レベルを設定するには、MAXENCRYPTBITS パラメータを設定します。有効な値は、0、56、および 128 です。0 は暗号化を行わないことを示し、56 および 128 は暗号化キーの長さをビット単位で指定します。デフォルト値は 128 です。
例
MAXENCRYPTBITS=128
MINENCRYPTBITS=0
関連項目
tlisten のネットワーク・アドレスを割り当てる
LMID が指定するマシン上でネットワークにサービスを提供する tlisten(1) プロセス用のネットワーク・アドレスを指定するには、NLSADDR パラメータを次のように指定します。
NLSADDR=string_value
string には、NADDR パラメータと同じ形式でネットワーク・アドレスを指定します。
NLSADDR の tlisten アドレスは、次の 3 つのうち、いずれかの形式で指定できます。
最初の形式では、host.name は、アドレスがバインドされるときに TCP/IP のアドレスに解決されます。この形式は、オペレーティング・システムのコマンドによる、ローカル名の解決機能に基づいています。 port_number には、シンボリック名または 10 進数を指定します。
2 番目の形式の文字列 #.#.#.# は、ドット区切りの 4 つの 10 進数 (0 〜 255 を指定) を示します。port_number は、0 〜 65,535 の 10 進数です (指定された文字列の 16 進表現)。 port_number には、シンボリック名または 10 進数を指定します。
3 番目の形式の文字列 0xhex-digits または ¥¥xhex-digits には、有効な 16 進数の偶数を含めます。2 つのうち、どちらかの形式で表現された文字列は、内部で TCP/IP アドレスを含む文字配列に変換されます。
NLSADDR が MASTER LMID 以外のマシンのエントリにない場合、tmloadcf(1) はエラーを出力します。NLSADDR が MASTER LMID エントリにない場合、tmadmin(1) をリモート・マシンから管理者モードで実行することはできません。可能な処理は、読み取り専用の操作だけです。これは、MASTER サイトで障害が発生しても、バックアップ・サイトから再起動できないことも意味します。
コンフィギュレーション・ファイルの NETGROUPS セクションの作成方法
UBBCONFIG ファイルの NETGROUPS セクションでは、LAN 環境で使用可能なネットワーク・グループの情報を設定します。1 組のマシンに割り当てるネットワーク・グループの数に制限はありません。ネットワーク・グループを構成する各ネットワークの通信方式は、優先順位のメカニズム (NETPRIO) によって決まります。
すべての LMID は、デフォルトのネットワーク・グループ (DEFAULTNET) のメンバでなければなりません。デフォルトのネットワーク・グループのグループ番号 (NETGRPNO) は、0 です。ただし、DEFAULTNET に設定されているデフォルトの優先順位は変更できます。リリース 6.4 より前の BEA Tuxedo システムで定義されているネットワークは、DEFAULTNET ネットワーク・グループに割り当てられています。
次の表では、NETGROUPS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
ネットワーク・グループ構成の例 ネットワーク・アドレスは、ネットワーク・グループに関連付けられます。この機能の例を以下に示します。 たとえば、First State Bank には 5 台のマシン (A 〜 E) で構成されるネットワークがあるとします。各マシンは、以下のように定義した 4 つのネットグループの中の 2 つまたは 3 つに属します。
すべてのマシンは、DEFAULTNET (企業 WAN) に属します。さらに、各マシンは MAGENTA_GROUP または BLUE_GROUP に関連付けられます。MAGENTA_GROUP LAN の一部のマシンは、GREEN_GROUP という特殊なグループに属しています。次の図は、ネットワーク内のネットワーク・アドレスを持つマシン A 〜 E を示します。
図 3-3 ネットワークのグループ化の例
注記 ローカル・エリア・ネットワークはロケーション間でルーティングされないため、マシン D (BLUE_GROUP LAN 内) は、共通の単一アドレス、つまり企業 WAN ネットワーク・アドレスのみを使用してマシン A (GREEN_GROUP LAN 内) と通信します。 UBBCONFIG ファイルにネットグループを設定する 前の節で説明したコンフィギュレーションを設定するには、First State Bank のシステム管理者は、次のコンフィギュレーション・ファイルの例に示すように、UBBCONFIG ファイルの NETGROUPS セクションで各グループを定義します。 コード リスト3-1 NETGROUPS および NETWORK セクションの例 関連項目
*NETGROUPS
DEFAULTNET NETGRPNO = 0 NETPRIO = 100 #default
BLUE_GROUP NETGRPNO = 9 NETPRIO = 200
MAGENTA_GROUP NETGRPNO = 125 NETPRIO = 200
GREEN_GROUP NETGRPNO = 13 NETPRIO = 300
*NETWORK
A NETGROUP=DEFAULTNET NADDR="//A_CORPORATE:5723”
A NETGROUP=MAGENTA_GROUP NADDR="//A_MAGENTA:5724"
A NETGROUP=GREEN_GROUP NADDR="//A_GREEN:5725"B NETGROUP=DEFAULTNET NADDR="//B_CORPORATE:5723"
B NETGROUP=MAGENTA_GROUP NADDR="//B_MAGENTA:5724"
B NETGROUP=GREEN_GROUP NADDR="//B_GREEN:5725"C NETGROUP=DEFAULTNET NADDR="//C_CORPORATE:5723"
C NETGROUP=MAGENTA_GROUP NADDR="//C_MAGENTA:5724"
D NETGROUP=DEFAULTNET NADDR="//D_CORPORATE:5723"
D NETGROUP=BLUE_GROUP NADDR="//D_BLUE:5726"
ネットワーク・グループに名前を割り当てる
ネットワーク・グループに名前を割り当てるには、NETGROUP パラメータを次のように設定します。
NETGROUP required_parameters [optional_parameters]
NETGROUP に DEFAULTNET を設定すると、エントリには、デフォルトのネットワーク・グループに関する情報が指定されます。NETGROUP パラメータが DEFAULTNET に設定されているネットワーク・エントリは、すべて TM_MIB の T_MACHINE クラスで表されますが、ほかの NETGROUP に関連付けられた NETWORK エントリは、TM_MIB の T_NETMAP クラスで表され、以前のリリースとの相互運用が可能です。
ネットワーク・グループ番号を割り当てる
フェイルオーバーおよびフェイルバックに対応するには、NETGRPNO パラメータを次のように設定します。
NETGRPNO=numeric_value
このエントリが DEFAULTNET を説明している場合、NETGRPNO の値はゼロにする必要があります。
ネットワーク・グループに優先順位を割り当てる
複数のネットワーク・グループにある、同じ優先順位が指定された 1 組のマシンは、優先順位が最も高い回線上で同時に通信できます。ネットワーク・グループの優先順位を割り当てるには、NETPRIO パラメータを使用します。特定の優先順位を持つすべてのネットワーク回線が、管理者またはネットワークによって切断された場合は、1 つ下の優先順位の回線が使用されます。優先順位の高い回線に対しては、接続の再試行が行われます。NETPRIO パラメータには、0 より大きく 8,192 未満の値を指定します。デフォルト値は 100 です。
コンフィギュレーション・ファイルの SERVERS セクションの作成方法
コンフィギュレーション・ファイルの SERVERS セクションには、サーバ・プロセスに固有な情報が含まれています。このセクションは必須ではありません。ただし、このセクションがないということは、アプリケーション・サーバがなく、機能もほとんどないことを意味します。このセクションの各エントリは、アプリケーションで起動するサーバ・プロセスを表し、次の情報を指定します。
注記 BEA Tuxedo システムでサポートされるコマンド行オプションについては、『BEA Tuxedo のファイル形式とデータ記述方法』の servopts(5) を参照してください。
次の表では、SERVERS セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
SERVERS セクションの例 以下は、コンフィギュレーション・ファイルの SERVERS セクションの例です。 注記 この例では、SEQUENCE (1 〜 6 の順に起動)、REPLYQ と RPPERM (サーバは応答を受け取らない)、RCMD (再起動時のコマンド不要)、および CONV (非会話型サーバ) が省略されています。特定のサーバに対して特に設定を行わない限り、すべてのサーバにはデフォルト設定が適用されます。 SERVERS セクションのパラメータ 上の SERVERS セクションの例では、以下のパラメータと値が指定されています。
*SERVERS
DEFAULT: RESTART=Y MAXGEN=5 GRACE=3600
REPLYQ=N CLOPT=”-A”
ENVFILE=”/usr/home/envfile”
SYSTEM_ACCESS=PROTECTED
RINGUP1 SRVGRP=GROUP1 SRVID=1 MIN=3
RQADDR=”ring1"
RINGUP2 SRVGRP=GROUP1 SRVID=4 MIN =3
RQADDR=”ring2"
関連項目
サーバを会話型として指定する
サーバが会話型サーバである (つまり、クライアントと専用サーバの間に双方向接続を確立する) 場合、CONV は必須パラメータであり Y を設定する必要があります。デフォルト値は N で、この場合はそのサーバが会話に含まれないことを示します。
CONV パラメータの特性
CONV パラメータには、以下の特性があります。
サーバを起動する順序を設定する
サーバを起動する順序を指定するには、各サーバの SEQUENCE パラメータを設定します。SEQUENCE には、1 から 30,000 までの任意の数字を指定します。SEQUENCE パラメータの値が小さいサーバは、値が大きいサーバより先に起動します。SEQUENCE パラメータをまったく指定しない場合、サーバは SERVERS セクションにリストされている順序で起動します。順序が指定されたサーバと指定されていないサーバが混在する場合は、順序が指定されたサーバが先に起動します。サーバは、起動する順序とは逆の順序でシャットダウンされます。
SEQUENCE は、オプション・パラメータです。このパラメータは、大規模なアプリケーションで、サーバを起動する順序を指定する必要がある場合に役立ちます。
警告: CORBA 環境では、システムのイベント・ブローカ、FactoryFinder オブジェクト、およびアプリケーション ファクトリを起動する順序が厳密に規定されています。この順序に従わないと、CORBA アプリケーションは起動しません。詳細については、 3-85 ページの「CORBA C++ サーバの起動順序」を参照してください。
複数のサーバを起動するには、MIN パラメータを設定して、起動作業を簡略化できます。この場合、すべてのサーバに同じオプションが適用されます。RQADDR を指定すると、サーバは MSSQ セットを生成します。MIN のデフォルト値は 1 です。
起動するサーバの最大数を指定するには、MAX パラメータを設定します。tmboot(1) コマンドを実行すると、実行時に MIN で指定した数のサーバが起動します。続いて、MAX で指定した数までのサーバが起動します。デフォルトは、MIN で指定した数のサーバです。
MIN および MAX パラメータは、大規模なアプリケーションのコンフィギュレーション・ファイルを管理しやすいサイズに保つ上で役立ちます。MAX の最大値は、IPC 資源を割り当てて設定します。MIN および MAX パラメータは、会話型サービスやサーバの自動生成でも使用されます。
CORBA C++ サーバの起動順序
BEA Tuxedo CORBA 環境でのサーバの正しい起動順序は以下のとおりです。この順序に従わないと、CORBA アプリケーションは起動しません。
リスト3-2 は、BEA Tuxedo ソフトウェアに収録されているサンプル・アプリケーションの 1 つである、BEA Tuxedo CORBA University Basic アプリケーションの起動順序を示します。この SERVERS セクションは、ubb_b.nt コンフィギュレーション・ファイルを編集したものから抜粋しています。
コード リスト3-2 University 用の UBBCONFIG サンプル・ファイルの SERVERS セクションを編集した例
*SERVERS
# デフォルトでは、サーバがクラッシュした場合、24 時間以内に最大 5 回まで
# 再起動します。
#
DEFAULT:
RESTART = Y
MAXGEN = 5
# BEA Tuxedo System のイベント・ブローカを起動します。このイベント・ブローカは、
# NameManager サービスを提供するサーバを起動する前に
# 起動しておかなければなりません。
#
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
# TMFFNAME は、BEA Tuxedo CORBA 環境で提供される、
# NameManager および FactoryFinder サービスを実行するサーバです。
# NameManager は、BEA Tuxedo CORBA 環境固有のサービスで、
# アプリケーションが提供する名前とオブジェクト・リファレンスの
# マッピングを管理します。
# NameManager Service (-N オプション) を起動します。この NameManager は
# マスタとして起動されます (-M オプション)。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
# スレーブ NameManager サービスを起動します。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
# FactoryFinder (-F) サービスを起動します。
#
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
# インターフェイス・リポジトリ・サーバを起動します。
#
TMIFRSVR
SRVGRP = SYS_GRP
SRVID = 5
# University サーバを起動します。
#
univb_server
SRVGRP = ORA_GRP
SRVID = 6
RESTART = N
# IIOP クライアントのリスナを起動します。
#
# サーバ・マシンのホスト名とポート番号を
# 指定します。通常、ポート番号は 2500 です。
#
ISL
SRVGRP = SYS_GRP
SRVID = 7
CLOPT = "-A -- -n //TRIXIE:2500"
この例では、TMSYSEVT サーバと TMFFNAME サーバを起動した後、以下のコンポーネントが起動します。
注記 何らかの理由でグループやマシンを移行またはシャットダウンするとき、アクティブなスレーブ NameManager が別のグループにある場合は、マスタ NameManager が アクティブになる前に FactoryFinder やスレーブ NameManager が再起動されないように、UBBCONFIG ファイルを設定してください。たとえば、FactoryFinder がマスタ NameManager と同じグループにある場合、マスタ NameManager が先に起動されるように、UBBCONFIG ファイルでサーバの起動順序を変更します。
SEQUENCE、MIN、および MAX パラメータの特性
サーバのコマンド行オプションを指定する
BEA Tuxedo システムでは、サーバが要求を処理するときに使用するオプションを指定できます。これらのオプションは、servopts で定義します。これを実行すると、サーバ・プロセス用の実行時オプションがリストされます。サーバ側では、コマンド行からの情報の取得が必要な場合があります。CLOPT パラメータを使用すると、コマンド行オプションを指定して、サーバに設定されたデフォルト値を変更したり、ユーザ定義のオプションを tpsvrinit() 関数に渡すことができます。
標準の main() を使用すると、引数 -- までのオプションのセットが解析され、以降のオプションは tpsvrinit() に渡されます。CLOPT のデフォルトのオプション -A は、buildserver(1) または buildobjserver(1) によって組み込まれたすべてのサービスを宣言するようサーバに通知します。次の表は、使用可能なオプションの一部です。
注記 その他の標準的な main() オプションについては、『BEA Tuxedo のファイル形式とデータ記述方法』の servopts(5) を参照してください。 CLOPT パラメータの特性
サンプルの BANKAPP アプリケーションでは、次のようにコマンド行オプションを指定しています。
CLOPT=”-A -- -T 10"
これは、サーバに対し、すべてのサービスを宣言するオプション (-A) と 10 という窓口 ID が指定されていることを示します。オペレーションが発生すると、特定の窓口のレコードは更新されます。このオプション、特に tpsvrinit() に渡されるオプションを使用する場合、システム管理者とアプリケーション・プログラマは、よく相談する必要があります。
関連項目
サーバ環境ファイルのロケーションを識別する
環境設定を指定するには、MACHINES セクションにある ENVFILE パラメータを使用します。また、特定のサーバ・プロセスに同じパラメータを指定できますが、セマンティクスは同じです。MACHINES セクションの ENVFILE と、SERVERS セクションの ENVFILE が指定されると、両方とも有効になります。MACHINES および SERVERS セクションの両方に同じ変数が定義された場合は、SERVERS セクションの設定が優先されます。
サーバ環境ファイルの特性
ENVFILE は、サーバ環境ファイルを定義するパラメータであり、以下の特性があります。
環境変数の設定の詳細については、『BEA Tuxedo のファイル形式とデータ記述方法』の tuxenv(5) を参照してください。
サーバ名、サーバ・グループ、およびサーバ ID を定義する
まず、SERVERS セクションでサーバに名前を割り当てます。指定する名前は、以下のいずれかのコマンドを使用して作成した実行可能ファイルです。
また、各サーバにグループ識別子 (SRVGRP) を指定する必要があります。SRVGRP には、GROUPS セクションのエントリの最初に指定した名前を設定します。最後に、指定されたグループ内の各サーバ・プロセスに一意の数値識別子 (SRVID) を指定します。サーバ・エントリには、必ず SRVGRP パラメータと SRVID パラメータが必要です。エントリでは、アプリケーションのほか、起動するマシンも記述されるため、複数のエントリに同じサーバ名が表示される場合もあります。
サーバ名、SRVGRP、および SRVID パラメータの特性
サーバ・キュー情報を識別する
サーバ・キュー情報を指定すると、サーバ・メッセージ・キューを作成し、このキューへのアクセスを制御できます。BEA Tuxedo システムでは、RQADDR パラメータを使用して複数サーバ、単一キュー (MSSQ) セットを作成できます。どのサーバに対しても、このパラメータの値に英数字を設定できます。同じサービスを提供するすべてのサーバに対して同じ RQADDR 値を設定すると、サービスを 1 つのメッセージ・キューにまとめて MSSQ セットを作成することができ、ロード・バランシングを実現できます。
MSSQ の例
MSSQ セットは、銀行の窓口担当者の業務に似ています。たとえば、窓口が 4 つあり、顧客は 1 列に並んで順番にサービスを受けるとします。顧客は、空いた窓口へ順番に進みます。当然ながら、融資担当の窓口は別です。融資担当の窓口では、預金の預け入れや引き出しを処理できません。また、融資を希望する顧客は限られています。同様に、MSSQ セットの場合も、提供するサービスが異なるサーバは、同じ MSSQ セットに参加できません。
RQPERM パラメータを使用すると、UNIX システムの規則に従った、サーバ要求キューのパーミッションを指定できます (0666 など)。この設定により、要求キューへのアクセスを制御できます。
MSSQ サーバ内のサービス・ルーチンでサービス要求が発行されると、それらの要求に対する応答を応答キューで受け取る必要があります。このような応答キューは、REPLYQ=Y で指定することができます。デフォルトでは、REPLYQ に N が設定されています。REPLYQ が Y に設定されている場合、RPPERM パラメータを使ってその応答キューにパーミッションを割り当てることもできます。
RQADDR、RQPERM、 REPLYQ、および RPPERM パラメータの特性
サーバの再起動に関する情報を定義する
適切にデバッグされたサーバは、自動的に終了しません。デフォルトでは、アプリケーションの実行中に終了したサーバは、自動的に再起動しません。サーバを再起動する場合は、RESTART パラメータに Y を設定します。 RESTART が Y の場合、RCMD、MAXGEN、または GRACE パラメータを設定できます。
RCMD パラメータを使用すると、サーバの再起動時に並行して実行されるコマンドを指定できます。たとえば、サーバ開発者や、サーバのアクティビティを監査する担当者に電子メールを送信する、という操作を実行できます。
MAXGEN パラメータは、GRACE で指定された期間内にサーバを再起動できる回数を示します。サーバは、GRACE で指定された秒数の間に MAXGEN-1 回だけ再起動できます。GRACE がゼロに設定されると、サーバの再起動は無制限に行われます。MAXGEN はデフォルトで 1 に設定されており、256 より大きい値は設定できません。GRACE には、ゼロまたはゼロより大きい値を設定します。ただし、2,147,483,647 (231 - 1) 以上の値は設定できません。
注記 完全にデバッグされたサーバを再起動する必要はありません。RESTART パラメータおよび関連するパラメータには、テスト用とプロダクション用の 2 つの値を設定する必要があります。
RESTART、RCMD、MAXGEN、および GRACE パラメータの特性
共用メモリに対するサーバ・アクセスを定義する
SYSTEM_ACCESS パラメータは、サーバ・プロセスを共用メモリにアタッチし、システム・コードの外から内部テーブルへのアクセスを許可するかどうかを決定します。アプリケーション開発時には、このようなアクセスを許可しないように設定しておく (PROTECTED) ことをお勧めします。アプリケーションをテストした後で、SYSTEM_ACCESS の値を FASTPATH に変更すると、性能を高めることができます。
このパラメータの設定は、RESOURCES セクションで NO_OVERRIDE が指定されない限り、RESOURCES セクションの値を上書きします。RESOURCES セクションで NO_OVERRIDE が指定されている場合、このパラメータは無視されます。NO_OVERRIDE 値は、このセクションでは使用されません。
SYSTEM_ACCESS パラメータの特性
SYSTEM_ACCESS パラメータには、以下の特性があります。
サーバ・ディスパッチ・スレッドを定義する
MAXDISPATCHTHREADS は、各サーバ・プロセスで生成される、同時に実行できるディスパッチ・スレッドの最大数です。MAXDISPATCHTHREADS が 1 より大きい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、パラメータで指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=MAXDISPATCHTHREADS)。指定しない場合、このパラメータのデフォルト値は 1 です。
MINDISPATCHTHREADS は、最初にサーバを起動するときのサーバ・ディスパッチ・スレッドの最小数です。MAXDISPATCHTHREADS が 1 より大きい場合 (MAXDISPATCHTHREADS>1) は、別のディスパッチ・スレッドが使用されます。このディスパッチ・スレッドは、MAXDISPATCHTHREADS で指定した数には含まれません。MAXDISPATCHTHREADS は、MINDISPATCHTHREADS と同じか、またはそれ以上でなければなりません (MINDISPATCHTHREADS<=MAXDISPATCHTHREADS)。このパラメータのデフォルト値は 0 です。
最初のスレッド以降の各サーバ・スレッドのスタック・サイズをバイト数で指定する必要があります。このパラメータを指定しないか、または 0 の場合は、オペレーティング・システムのデフォルト値が使用されます。このオプションは、MAXDISPATCHTHREADS に 1 より大きい値が指定された場合のみサーバに影響を与えます。
ISL サーバのセキュリティ・パラメータの設定
CORBA 環境では、IIOP リスナ (ISL) プロセスが、リモート・クライアントの接続要求をリッスンします。ISL プロセスは、BEA Tuxedo システム側で提供されるサーバとして、1 つのエントリで指定されます。
IIOP を使用する場合、Secure Socket Layer (SSL) プロトコルによってプロセス間の安全な通信方法を定義します。ISL コマンドの -s オプションを使用して、必須パラメータを設定します。これらのパラメータは、SSL プロトコルを使用する場合のみ設定する必要があります。SSL プロトコルは、BEA Tuxedo Security Pack にインストールされています。
表 0-1 は、SSL パラメータの特性を示します。
:
これらのパラメータ設定の詳細については、『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。
コンフィギュレーション・ファイルの SERVICES セクションの作成方法
コンフィギュレーション・ファイルの SERVICES セクションでは、アプリケーションで提供されるサービスに関する詳しい情報を指定できます。トランザクションに関与しない非分散型のアプリケーションの場合、これらの情報の指定は簡単です。SERVICES セクションには、以下の種類の情報が含まれます。
サービスには必須パラメータはありません。サービスをリストする必要があるのは、オプション・パラメータを設定する場合のみです。
次の表では、SERVICES セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
SERVICES セクションの例 以下は、コンフィギュレーション・ファイルの SERVICES セクションの例です。 この例では、サービスのデフォルトのロードおよび優先順位の値は 50 です。宣言されている 1 つのサービスは、RINGUP サービスであり、バッファ・タイプ ringup VIEW が指定されています。 関連項目
*SERVICES
#
DEFAULT: LOAD=50 PRIO=50
RINGUP BUFTYPE=”VIEW:ringup”
トランザクションの自動開始とタイムアウト間隔を指定する
AUTOTRAN ={Y|N} パラメータをコーディングして、要求メッセージが既にトランザクション・モードの場合に、トランザクションを自動的に開始するかどうかを指定できます。デフォルトは N です。
あるサービスに対するトランザクションが開始した後でそのトランザクションが失敗した場合、ロールバックされるまでのタイムアウト間隔を指定することができます。タイムアウト間隔が自動的に実行されるように指定するには、TRANTIME パラメータを次のように設定します。
TRANTIME=number
デフォルト値は 30 秒です。0 (タイムアウトの最大値) をコンピュータに指定すると、トランザクションでタイムアウトは発生しません。
UBBCONFIG ファイルの RESOURCES セクションでは、MAXTRANTIME という追加のトランザクション・タイムアウト・プロパティを使用できます。MAXTRANTIME タイムアウト値が TRANTIME タイムアウト値またはトランザクションを開始する際に tpbegin(3c) 呼び出しで渡されたタイムアウト値よりも小さい場合、トランザクションのタイムアウトは MAXTRANTIME 値まで減少します。
注記 MAXTRANTIME は BEA Tuxedo 8.0 以前を実行するマシン上で開始されるトランザクションには影響を与えません。ただし、BEA Tuxedo 8.1 以降を実行するマシンがトランザクションの影響を受ける場合は、そのノードに対して設定されている MAXTRANTIME 値までトランザクション タイムアウト値が制限 (必要に応じて減少) されます。
関連項目
サービスで受け付けるバッファ・タイプのリストを指定する
BUFTYPE パラメータを使用すると、サービス・コードとは関係なく、バッファ・タイプをチェックするサービスを調整できます。このパラメータを設定する場合は、サービスで受け付けるバッファ・タイプのリストを次の形式で指定します。
type[:subtype[,subtype]]
すべての subtype を受け入れるには、サブタイプの値に * を設定します。
サービスの BUFTYPE パラメータの値が ALL の場合、このサービスはすべてのバッファ・タイプを受け付けます。デフォルト値は ALL です。
BUFTYPE パラメータの例
要求を処理する時間を指定する
リクエストの処理中に、予期しないシステム・エラーが発生し、サービスが停止 (フリーズ) したり、制御不可能になる場合があります。このようなプロセスは削除することが望ましいですが、実際にこれらのエラーを検出したり、エラー原因を追跡することは困難です。BEA Tuxedo システムには、エラーを識別できなくても、このようなプロセスを終了できるメカニズムが組み込まれています。このメカニズムを使用するには、SVCTIMEOUT パラメータを設定します。
SVCTIMEOUT パラメータは、サービスが要求を処理できる時間 (秒) を指定します。このパラメータで定義された間隔が経過してもサービスが要求を処理できなかった場合、その要求の処理は強制終了されます。本質的に、サービス・タイムアウトは、停止または制御不能状態にあるアプリケーション・サーバのスカベンジ機能として働きます。デフォルトでは、BEA Tuxedo システムはサービス・プロセスを終了しません。この機能を有効にするには、SVCTIMEOUT を設定する必要があります。
UBBCONFIG ファイルの SVCTIMEOUT パラメータに値を割り当てるか、または TM_MIB の TA_SVCTIMEOUT 属性を動的に変更することによって設定できます。SVCTIMEOUT または TA_SVCTIMEOUT の値には、サービスが 1 つのリクエストの処理に費やす時間の 2 〜 3 倍の時間を指定しておくことをお勧めします。このような値を設定しておくと、BEA Tuxedo システムは、停止状態のプロセスだけを削除します。
この節では、サービス・タイムアウト・エラーの原因と結果、および BEA Tuxedo システムによるエラーのレポート方法を説明します。また、エラーの処理方法に関するアドバイスも掲載しています。
タイムアウト発生時の処理
タイムアウトが発生すると、BEA Tuxedo システムは、停止されたサービスの実行元であるサーバ・プロセスを終了します。ただし、子プロセスは終了しません。次に、TPESVCERR エラーを返し、サービスの処理中に未知のエラーが発生したことを示します。会話型サービスでは、会話型イベントである TPEV_SVCERR が返されます。
サービスのタイムアウトの通知方法
BEA Tuxedo システムでは、以下の 3 つの機能を使用してサービス・タイムアウトを通知します。
SVCTIMEOUT 値が設定可能になったため、クライアント・アプリケーション側では、SVCTIMEOUT の値を超過して発生した TPESVCERR とそれ以外の原因で発生した TPESVCERR を簡単に識別できるようにしておくことが必要です。この情報は、ULOG にも記録されていますが、クライアント・プログラムによって抽出するのは困難です。サービス・タイムアウトの TPESVCERR をその他のエラーと区別するため、プログラムで TPESVCERR を検出した後に tperrordetail(3c) ルーチンを呼び出し、サービス・タイムアウトが発生したときに TPED_SVCTIMEOUT を生成することができます。
また、サービス・タイムアウトが発生すると、システム・イベントである .SysServiceTimeout が生成されます。.SysServiceTimeout イベントが発生すると、ULOG に次のように記録されます。
ERROR:.SysServiceTimeout:%TA_SERVERNAME、グループ %TA_SRVGRP、id %TA_SRVID サーバがサービス・タイムアウトのため強制終了しました。
サービス・タイムアウトの制御方法
ロード・バランシングを有効にする
ロード・バランシングを有効にするには、RESOURCES セクションの LDBAL パラメータを Y に設定します。実行するサービスには、LOAD パラメータの値に基づいてロード・ファクタが割り当てられます。BEA Tuxedo システムは、各サーバの負荷の合計を監視します。各サービス要求は、負荷の合計が最も低いサーバにルーティングされます。ルーティング先のサーバの負荷は、ルーティングされたサービスのロード・ファクタ分 (LOAD) だけ増加します。
負荷の情報は、サービス要求のルーティング元サイトにのみ保存されます。BEA Tuxedo システムでは、分散アプリケーションのすべてのサイトに負荷の情報を常に伝達するのは非効率的です。このような環境でロード・バランシングを行う場合、各サイトは、そのサイトで発生した負荷だけを認識し、必要に応じてロード・バランシングを行います。つまり、各サイトは、指定されたサーバ (またはキュー) に関し、それぞれ異なる負荷の統計情報を持ちます。したがって、負荷が最も低いと見なされるサーバは、サイトごとに異なります。
ロード・バランシングが無効であり、複数のサーバが同じサービスを提供する場合は、使用可能な最初のキューが要求を受け取ります。
LDBAL パラメータの特性
LDBAL パラメータには、以下の特性があります。
ルーティング基準名を定義する
データ依存型ルーティングを使用するときは、サービス用のルーティング基準を指定する必要があります。このような基準を指定するには、ROUTING パラメータを次のように設定します。
ROUTING=string_value
このパラメータが指定されないと、サービスはデータ依存型ルーティングを実行しません。
文字列の最大値は 15 文字です。サービスには、1 つ以上の ROUTING パラメータの値は割り当てられません。1 つのサービスに複数のエントリがあり、それらのエントリに異なる SRVGRP パラメータが含まれている場合でも、ROUTING の値はすべてのエントリで同じでなければなりません。
異なるサーバ・グループに対してサービス・パラメータを指定する
複数のグループに同じサービスを割り当てたり、異なるグループのサービス・エントリに対して設定したさまざまなサービス固有のパラメータに異なる値を割り当てることができます。そのためには、SRVGRP パラメータにグループ固有の値を指定して、各グループのサービスに対して個別のエントリを作成してください。
サービスの優先順位を指定してデータ・フローを制御する
PRIO パラメータを使用して、サービスの優先順位を割り当てることにより、アプリケーション内のデータ・フローを有効に制御できます。PRIO には、0 〜 100 の数値を指定する必要があります。数値が大きいほど割り当てられるサービスの優先順位も高くなります。優先順位の高いサービスは優先順位の低いサービスより先にキューから取り出されますが、システムは、10 回に 1 回ごとに FIFO 順序で要求をキューから取り出し、メッセージがキューで無制限に待機することがないようにしています。
たとえば、サーバ 1 はサービス A、B、および C を提供します。サービス A および B の優先順位は 50、サービス C の優先順位は 70 です。サービス C に対するサービス要求は、常に A または B に対する要求の前にキューから取り出されます。A および B に対する要求は、互いに等しくキューから取り出されます。
注記 tpsprio() 呼び出しを使用すると、優先順位を動的に変更できます。
PRIO パラメータの特性
PRIO パラメータには、以下の特性があります。
優先順位の異なる SERVICES セクションの例
次の SERVICES セクションの例は、サービスに対する優先順位の割り当て方を示します。
*SERVICES
A SRVGRP=GRP1 PRIO=50 LOAD=60
A SRVGRP=GRP2 PRIO=70 LOAD=30
この例では、2 つのサーバ・グループに対して異なるサービス固有のパラメータが割り当てられます。サーバ・グループ GRP1 のサービス A には、優先順位 50、およびロード 60 が割り当てられ、サーバ・グループ GRP2 のサービス A に優先順位 70、およびロード 30 が割り当てられます。
サービスの処理時間を指定する
サービスの処理にかかる最大時間を秒単位で指定するには、SVCTIMEOUT パラメータを次のように設定します。
SVCTIMEOUT=number
値は 0 以上でなければなりません。この値が 0 の場合は、サービスに対してタイムアウトが適用されないことを示します。サービス要求を処理するサーバは SIGKILL シグナルによって終了します。このパラメータのデフォルト値は 0 です。
コンフィギュレーション・ファイルの INTERFACES セクションの作成方法
注記 このセクションは、BEA Tuxedo CORBA 環境にのみ適用されます。
コンフィギュレーション・ファイルの INTERFACES セクションは、BEA Tuxedo システムの CORBA 環境用のパラメータを定義するためのセクションです。このセクションでは、アプリケーションで使用される CORBA インターフェイスに対する、アプリケーション全体のデフォルト・パラメータを指定します。ファクトリ・ベース・ルーティングに参加する CORBA インターフェイスに対しては、インターフェイス名を定義し、Tuxedo CORBA 環境で各インターフェイスに適用するルーティング基準の名前を指定します。ファクトリ・ベース・ルーティングは、プロセスを特定のサーバ・グループに分散するための機能です。
ファクトリ・ベース・ルーティングをインプリメントする場合、INTERFACES セクションだけでなく、ROUTING セクションでルーティング基準を定義し、GROUPS セクションでグループ名を定義する必要があります。関連パラメータとファクトリ・ベース・ルーティングの詳細については、この章の コンフィギュレーション・ファイルの ROUTING セクションの作成方法を参照してください。
INTERFACES セクションで CORBA インターフェイスを指定する
アプリケーションで使用する CORBA インターフェイス固有の情報は、コンフィギュレーション・ファイルの INTERFACES セクションで指定します。必須パラメータはありません。オプションのパラメータが不要の場合、CORBA インターフェイスをリストする必要はありません。INTERFACES セクションには、以下の種類の情報が含まれます。
表 0-2 に、AUTOTRAN、FACTORYROUTING、LOAD、PRIO、SRVGRP、TRANTIME、および TIMEOUT パラメータの特性を示します。
ファクトリ・ルーティング基準を指定する 各 CORBA インターフェイスに対し、INTERFACES セクションでインターフェイスのルーティング基準を指定します。INTERFACES セクションでは、FACTORYROUTING 識別子を使用してルーティング基準を指定します。 University のサンプル University Production サンプル・アプリケーションでは、ファクトリ・ベース・ルーティングのコード作成方法を示しています (リスト3-3 参照)。このサンプルの UBBCONFIG ファイル (ubb_p.nt または ubb_p.mk) は、BEA Tuxedo ソフトウェアのインストール・ディレクトリに収められています。¥samples¥corba¥university¥production サブディレクトリを検索してください。 コード リスト3-3 Production サンプルの INTERFACES セクション 上の例では、University Production サンプルの 2 つのインターフェイスに、完全修飾されたインターフェイス名が使用されています。また、FACTORYROUTING 識別子によって、ルーティング値の名前がそれぞれ STU_ID と ACT_NUM に指定されています。 INTERFACES FACTORYROUTING パラメータと ROUTING セクションの関連性については、 3-123 ページの「University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング」を参照してください。 Bankapp のサンプル リスト3-4 は、サンプル・アプリケーション Bankapp でのファクトリ・ベース・ルーティングの指定例を示しています。 コード リスト3-4 Bankapp サンプルのファクトリ・ベース・ルーティング この例では、 IDL:Bankapp/Teller インターフェイスが、ROUTING セクションで定義された atmID という名前のファクトリ・ベース・ルーティング基準を使用しています。この例の ROUTING セクションでは、2 つのグループに処理を分散するように指定しています。atmID フィールドが 1 〜 5 または 10 より大きい場合は、BANK_GROUP1 がアプリケーションで使用されるインターフェイスを処理し、atmID が 6 〜 10 の場合は、BANK_GROUP2 がアプリケーションで使用されるインターフェイスを処理します。 ロード・バランシングを有効化する BEA Tuxedo の CORBA 環境では、ロード・バランシングは常に有効です。 各 CORBA インターフェイスには、起動するたびに LOAD ファクタが割り当てられます。これで、各サーバ・プロセスの実行結果として CORBA インターフェイス全体にかかる負荷がトラッキングされます。各インターフェイス要求は、負荷の合計が最も低いサーバにルーティングされます。ルーティング先のサーバの負荷は、ルーティングされた CORBA インターフェイスのロード・ファクタ分 (LOAD) だけ増加します。ロード・バランシングが無効であり、複数のサーバが同じ CORBA インターフェイスを提供する場合は、使用可能な最初のキューが要求を受け取ります。 BEA Tuxedo CORBA 環境でのロード・バランシングの詳細については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』の「システム制御のロード・バランシングの有効化」を参照してください。 BEA Tuxedo のリリース 8.0 では、CORBA 環境における並列オブジェクトがサポートされるようになりました。これにより、ローカル・ドメイン内の複数サーバ間でロード・バランシングが可能になります。BEA Tuxedo CORBA 環境の並列オブジェクトについては、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』の「パラレル・オブジェクトの使用」を参照してください。 インターフェイスの優先順位を指定してデータ・フローを制御する PRIO パラメータを使用してインターフェイスの優先順位を割り当てることにより、BEA Tuxedo のクライアントまたはサーバ・アプリケーションのデータ・フローを制御することができます。たとえば、サーバ 1 がインターフェイス A、B、および C を提供し、インターフェイス A と B の優先順位が 50、インターフェイス C の優先順位が 70 であるとします。インターフェイス C に対する要求は、常に A または B に対する要求より先にキューから取り出されます。A および B に対する要求がキューから取り出される優先順位は同等です。システムは、10 回に 1 回の割合で FIFO 順序で要求をキューから取り出し、メッセージがキューで無制限に待機しないようにします。 PRIO パラメータには、以下の特性があります。
*INTERFACES
"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID
"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1
サーバ・グループごとに異なるインターフェイス・パラメータを指定する
ロード・バランシングや優先順位など、インターフェイス固有のパラメータは、サーバ・グループごとに変えて設定することができます。この場合、SRVGRP パラメータに指定したグループごとに、インターフェイスの設定を繰り返す必要があります。
コンフィギュレーション・ファイルの ROUTING セクションの作成方法
UBBCONFIG の ROUTING セクションでは、SERVICES セクション (ATMI のデータ依存型ルーティングの場合) や INTERFACES セクション (CORBA のファクトリ・ベース・ルーティングの場合) で指定されたルーティング基準を詳細に定義することができます。
注記 CORBA 環境でのファクトリ・ベース・ルーティングの設定については、『BEA Tuxedo CORBA アプリケーションのスケーリング、分散、およびチューニング』を参照してください。
次の表では、ROUTING セクションの各パラメータを説明し、参照先へのリンクやその他の情報を示します。
ROUTING セクションの例 以下は、コンフィギュレーション・ファイルの ROUTING セクションの例です。
BRNCH FIELD=B_FLD
RANGES="0-2:DBG1,3-5:DBG2,6-9:DBG3"
BUFTYPE="FML"
ルーティング・バッファ・フィールドとフィールド・タイプを定義する
次の表は、ルーティング・バッファ・フィールドとフィールド・タイプの説明です。
範囲の基準を指定する
RANGES パラメータでは、フィールド値を次のようにグループ名にマップできます。
RANGES=”[val1[-val2]:group1] [,val3[-val4]:group2]...[,*:groupn]”
val1、val2 などはフィールドの値であり、groupn はグループ名または任意のグループが選択されることを示すワイルドカード文字 (*) です。最後に val の代わりに指定されている * は「catch-all」、つまり、データが指定された範囲内にない場合はデフォルトのグループに割り当てられることを示します。また、データが範囲内にあっても、その範囲のエントリに関連する有効なサーバがグループ内にない場合、サービス要求は、ワイルドカード「*」で指定したデフォルトのグループに転送されます。val1 には、以下の値を使用できます。
範囲はいくつでも指定できますが、ルーティング情報は共用メモリに保存されるため、システム・リソースを消費します。
注記 範囲は重複してもかまいません。ただし、値が 2 つの範囲に当てはまる場合、その値は最初のグループにマッピングされます。たとえば、RANGES が RANGES=”0-5:Group1,3-5:Group2" に指定されている場合、4 は Group1 にルーティングされます。
バッファ・タイプを定義する
BEA Tuxedo のデータ依存型ルーティングでは、BUFTYPE パラメータを使用して、バッファ・タイプを指定できます。このパラメータは、特定のバッファ・タイプとサブタイプに対してルーティング基準を適用するため、SERVICES セクションの対応するパラメータと似ています。ルーティングに使用できるのは、FML、XML、および VIEW 型だけです。構文は、SERVICES セクションと同じく、type:subtype[,subtype] をセミコロンで区切ってリストします。ルーティング基準には 1 つのタイプしか指定できません。この制限により、サービスのルーティング時に受け付けられるバッファ・タイプの数が限定されます。
University Production サンプル・アプリケーションのCORBA ファクトリ・ベース・ルーティング
CORBA University Production サンプル・アプリケーションでは、BEA Tuxedo でファクトリ・ベース・ルーティングをインプリメントする方法を示します。このサンプルの UBBCONFIG ファイル (ubb_p.nt または ubb_p.mk) は、BEA Tuxedo ソフトウェアのインストール・ディレクトリに収められています。¥samples¥corba¥university¥production サブディレクトリを検索してください。
ubb_b.nt コンフィギュレーション・ファイルから抜粋した以下の INTERFACES、ROUTING、および GROUPS セクションは、BEA Tuxedo の CORBA アプリケーションでファクトリ・ベース・ルーティングをインプリメントする方法を示しています。
INTERFACES セクションには、ファクトリ・ベース・ルーティングを有効にするインターフェイスの名前がリストされています。各インターフェイスに対し、このセクションでインターフェイスのルーティング基準を指定します。このセクションでは、リスト3-5 の例に示すように、識別子 FACTORYROUTING を使用してルーティング基準を指定します。
コード リスト3-5 Production サンプルの INTERFACES セクション
*INTERFACES
"IDL:beasys.com/UniversityP/Registrar:1.0"
FACTORYROUTING = STU_ID
"IDL:beasys.com/BillingP/Teller:1.0"
FACTORYROUTING = ACT_NUM
上の例では、ファクトリ・ベース・ルーティングを使用する Production サンプルで、2 つのインターフェイスに完全修飾されたインターフェイス名が使用されています。また、FACTORYROUTING 識別子によって、ルーティング値の名前がそれぞれ STU_ID と ACT_NUM に指定されています。
ROUTING セクションでは、ルーティング値ごとに以下のデータを指定します。
リスト3-6 は、Production サンプル・アプリケーションで使用される UBBCONFIG ファイルの ROUTING セクションを示しています。
コード リスト3-6 Production サンプルの ROUTING セクション
*ROUTING
STU_ID
FIELD = "student_id"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "100001-100005:ORA_GRP1,100006-100010:ORA_GRP2"
ACT_NUM
FIELD = "account_number"
TYPE = FACTORY
FIELDTYPE = LONG
RANGES = "200010-200014:APP_GRP1,200015-200019:APP_GRP2"
上の例では、ID が特定の範囲に含まれる学生の Registrar オブジェクトが 1 つのサーバ・グループに、別の範囲に含まれる学生の Registrar オブジェクトが別のグループにインスタンス化されています。同様に、特定の範囲に含まれる口座の Teller オブジェクトが 1 つのサーバ・グループに、別の範囲に含まれる口座の Teller オブジェクトが別のグループにインスタンス化されています。
UBBCONFIG ファイルの ROUTING セクションで RANGES 識別子によって指定されたグループを、識別して設定する必要があります。たとえば、Production サンプルでは、ORA_GRP1、ORA_GRP2、APP_GRP1、および APP_GRP2 の 4 つのグループが指定されていますが、ここでこれらのグループを設定し、実行するマシンを識別する必要があります。
リスト3-7 は、Production サンプルの UBBCONFIG ファイルにある GROUPS セクションの例を示しています。GROUPS セクションの名前と、ROUTING セクションで指定された名前の関係に注意してください。ファクトリ・ベース・ルーティングを正しく機能させるには、両方の名前を一致させる必要があります。また、アプリケーションでグループを設定する際にグループ名を変更した場合は、ROUTING セクションにも反映しなければなりません。BEA Tuxedo ソフトウェアに収録されている Production サンプルは、1 台のマシンで実行するように設定されていますが、複数のマシンで実行するように設定することもできます。
コード リスト3-7 Production サンプルの GROUPS セクション
*GROUPS
APP_GRP1
LMID = SITE1
GRPNO = 2
TMSNAME = TMS
APP_GRP2
LMID = SITE1
GRPNO = 3
TMSNAME = TMS
ORA_GRP1
LMID = SITE1
GRPNO = 4
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
ORA_GRP2
LMID = SITE1
GRPNO = 5
OPENINFO = "ORACLE_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=100+LogDir=.+MaxCur=5"
CLOSEINFO = ""
TMSNAME = "TMS_ORA"
Bankapp サンプル・アプリケーションの CORBA ファクトリ・ベース・ルーティング
リスト3-8 は、INTERFACES セクションを使用して Bankapp サンプル・アプリケーションを拡張し、ファクトリ・ベース・ルーティングを使用する方法を示しています。BEA Tuxedo ソフトウェアに収録されているサンプル・アプリケーションでは、以下のパラメータは設定されていません。
コード リスト3-8 Bankapp サンプルの INTERFACES セクション
*INTERFACES
"IDL:BankApp/Teller:1.0"
FACTORYROUTING=atmID
*ROUTING
atmID
TYPE = FACTORY
FIELD = "atmID"
FIELDTYPE = LONG
RANGES = "1-5:BANK_GROUP1,
6-10: BANK_GROUP2,
*:BANK_GROUP1
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
BANK_GROUP1
LMID = SITE1
GRPNO = 2
BANK_GROUP2
LMID = SITE1
GRPNO = 3
この例では、IDL:Bankapp/Teller インターフェイスが、ROUTING セクションで定義された atmID という名前のファクトリ・ベース・ルーティング基準を使用しています。この例では、以下の 2 つのサーバ・グループに処理が分散されます。
スレッドを利用する BEA Tuxedo システムの設定方法
マルチコンテキスト化されたアプリケーションをコンフィギュレーションするには、UBBCONFIG ファイルを通常どおりに編集し、アプリケーションに必要な次の表のパラメータを追加します。編集には、テキスト・エディタまたは BEA Tuxedo Administration Console を使用します。
コンフィギュレーション・ファイルのコンパイル方法
コンフィギュレーション・ファイルのコンパイルとは、テキスト形式の UBBCONFIG ファイルを、バイナリ形式の TUXCONFIG ファイルに変換することです。コンフィギュレーション・ファイルをコンパイルするには、tmloadcf コマンドを実行します。tmloadcf により UBBCONFIG ファイルが解析され、バイナリ形式のファイルがロードされます。
tmloadcf は、ファイル (UBBCONFIG の構文に記述された標準入力) を読み取って構文をチェックし、成功すると、バイナリ形式のコンフィギュレーション・ファイルである TUXCONFIG ファイルをロードします。TUXCONFIG 環境変数および TUXOFFSET 環境変数 (オプション) により、TUXCONFIG ファイルとオフセットが指定され、情報はこの場所に格納されます。tmloadcf は、-c または -n オプションが指定されていない限り、UBBCONFIG ファイルの RESOURCES セクションで指定されている MASTER マシンでのみ実行できます。
注記 UBBCONFIG ファイルの RESOURCES セクションに UID が指定されている場合、この値は、tmloadcf を実行する担当者のユーザ識別子 (UID) と同じでなければなりません。
TUXCONFIG 環境変数に指定されたパス名は、UBBCONFIG ファイルの MACHINES セクションに指定されている TUXCONFIG パラメータの値と完全に一致しなければなりません (大文字と小文字の区別も含む)。パス名が一致していない場合、tmloadcf(1) は正常に実行されません。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |