管理ガイド

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

SALTの実行時の管理

この章の内容は次のとおりです。

 


Oracle Tuxedo Webサービスの管理

この項の内容は次のとおりです。

GWWSサーバーからのWSDLドキュメントの参照

GWWSサーバーは、デプロイされている各着信ネイティブWSDFのWSDLドキュメントを自動的に生成します。WSDLドキュメントは、HTTP GETを介していずれかのHTTP/Sがリスンするエンドポイントからダウンロードできます。

次のURLでWSDLドキュメントを参照します。

“http(s)://<host>:<port>/wsdl[? [id=<wsdf_name>] [&mappolicy=<pack|raw|mtom>] [&toolkit=<wls|axis>]]”

表2-1では、WSDLドキュメントのダウンロードのすべてのオプションを示します。

表2-1 WSDLダウンロードのオプション
オプション
値の説明
id
WSDLドキュメントのネイティブなWSDF名を指定する。指定したネイティブなWSDFは、GWWSサーバーによって、着信方向でインポートする必要がある。オプションを指定しない場合、最初に着信するネイティブなWSDFが使用される。
mappolicy
{pack | raw | mtom}
生成するWSDLドキュメントで特定のOracle Tuxedo型付きバッファに使用されるデータ・マッピング・ポリシーを指定します。現在、このオプションはCARRAY型付きバッファにのみ影響します。このオプションを指定しない場合のデフォルト値はpackです。
toolkit
{wls | axis}
このオプションは、先にmappolicy=rawを指定している場合に限り使用する。CARRAY型付きバッファのMIME添付ファイルについて正しいWSDLドキュメント記述を生成するために、使用するクライアント・ツールキットを指定する。SALTでは、SOAP with AttachmentsについてWebLogic ServerおよびAxisがサポートされています。デフォルト値はwlsである。

注意: SALT 2.0以降でサポートされているWSDLダウンロードのURLは、SALT 1.1リリースでサポートされているURLと異なります。SALT 1.1において、1つのGWWSサーバーは、指定された構成ファイルからRPC/encodedおよびdocument/literalの両方のメッセージ・スタイル、SOAP 1.1およびSOAP 1.2の両方のバージョンを適応的にサポートします。SALT 2.0以降のリリースにおいて、GWWSサーバーに関連付けられている各WSDFファイルは、特定のSOAPバージョンおよび特定のSOAPメッセージ・スタイルとあらかじめ組み合せる必要があります。したがって、SALT 1.1 GWWSサーバーの次のWSDLダウンロード・オプションはこのリリースでは非推奨になっています。

表2-2 非推奨になっているWSDLダウンロード・オプション
オプション
値の説明
SOAPversion
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPバージョンを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。
encstyle
この非推奨になっているオプションは、生成したWSDLドキュメントで定義された必要なSOAPメッセージ・スタイルを指定するに使用される。現在、このオプションはWSDFファイルに設定されている。

GWWSサーバーのチューニング

GWWSサーバーは、外部のWebサービス・アプリケーションとOracle Tuxedoアプリケーションとの通信に使用される、パフォーマンスに優れたゲートウェイです。スレッド・プールによる動作モデルが採用されているため、マルチプロセッサのサーバー環境において高いパフォーマンスを発揮します。GWWSサーバーは、SALT構成ファイルで<WSGateway>要素のプロパティ値を設定することにより実行時の動作を制御するためにオプションも提供します。次のトピックでは、様々な状況に応じたデプロイメントの考慮事項を示します。詳細は、SALT構成ガイド GWWSサーバーの構成に関する項を参照してください。

スレッド・プール・サイズのチューニング

プロパティ: thread_pool_size

デフォルトのスレッド・プール・サイズは16ですが、大量の負荷を処理するには十分でない場合があります。平常時の稼働状況に関する分析を実施して適切なサイズ要件を見積もることをお薦めします。通常、同時使用クライアント数が多い(たとえば500を超える)場合には、少なくとも4ウェイ・プロセッサを搭載したサーバーにGWWSゲートウェイをデプロイし、スレッド・プール・サイズを64に設定することが望ましいと考えられます。

ネットワーク・タイムアウトの制御

プロパティ: timeout

SALTでは、構成ファイルでパラメータを使用してネットワーク・タイムアウトのチューニングを提供します。デフォルトのタイムアウト値は300秒で、この値を調整するとタイムアウト・エラーの発生を抑えることができます。

コンテンツ最大長の制御

プロパティ: max_content_length

SALT管理者は、クライアントから送られてくるバッファのサイズを必要に応じて制限できます。この制限を設定するには、特定のGWWSインスタンスに対して指定できるプロパティ値を使用します。デフォルトでは、制限はありません。

バックログの制御

プロパティ: max_backlog

デフォルトのバックログ・ソケット・リスン値は20です。Windowsのようなシステムの場合、20では大量の負荷を処理するには十分でない場合があります。TCPハンドシェーク中にクライアント接続が拒否されました。

Windowsにおける推奨値は、予想される最大の同時TCP接続に基づきます。たとえば、ピークが80の場合、SALT構成ファイルでmax_backlogプロパティの値を60に設定することができます。

注意: ほとんどのシステムでは、デフォルトのバックログ値を変更する必要はありません。高負荷時にクライアント接続の問題が発生する場合にのみチューニングしてください。
警告: バックログ値を大きくすると、syn-flood攻撃による被害のリスクが高まります。

Oracle Tuxedo BLOCKTIME

SALT構成ファイルには、ネットワーク受信タイムアウトのプロパティが提供されています。Oracle Tuxedo BLOCKTIMEパラメータは、Webサービス・アプリケーションにも影響を与えます。BLOCKTIMEの計算は、メッセージがXMLから型付きバッファに変換されてOracle Tuxedoフレームワークに配信された時点で開始されます。

Webサービスの特定クライアントからBLOCKTIMEの期間内に応答がない場合、GWWSサーバーはSOAPエラーのメッセージをクライアントに送信し、接続を終了します。遅延した応答が後でGWWSサーバーに届いた場合は、該当するクライアントが既に切断されているため、そのメッセージは破棄されます。

BLOCKTIMEは、UBBCONFIGファイルの*RESOURCEセクションに定義します。

GWWSインスタンスの複数化によるパフォーマンスの向上

ネットワークの混雑やCPUリソースの不足などで単一のGWWSインスタンスがボトルネックとなった場合は、分散Oracle Tuxedoノード上に、同一のWebサービス・バインディングで複数のGWWSインスタンスをデプロイできます。

注意: GWWSインスタンスを複数化した場合でも論理的な機能は同じですが、クライアントから見ると、それぞれのGWWSインスタンスは異なるHTTP/Sリスン・ポートおよびアドレスに存在する別個のWebサービス・エンドポイントとなります。

GWWSサーバーのトレース

GWWSサーバーはOracle Tuxedo TMTRACE機能を備えており、メッセージを動的にトレースできます。すべてのトレース・ポイントがULOGファイルに記録されます。ULOGファイル・トレース情報をチェックすると、GWWSサーバーでのSOAPメッセージの問題を把握しやすくなります。GWWSサーバーのメッセージ・トレースの動作は、TMTRACE環境変数またはtmadmin chtrサブコマンドを使用して設定できます。

SALTメッセージのトレースには、msgという予約済のトレース・カテゴリを使用します。これは、他の一般的なトレース・カテゴリと組み合せて使用できます。たとえば、トレース・カテゴリとして「atmi+msg」と指定すると、SALTトレース・メッセージとOracle Tuxedo ATMIトレース・メッセージの両方が記録されます。

注意: メッセージ・トレースは、診断処置にのみ使用することをお薦めします。
注意: GWWSサーバーでは、次のトリガー仕様はお薦めできません。
注意: abort、system、sleep
注意: いずれかのトリガー仕様が使われていると、GWWSサーバーが突然終了する可能性があります。

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

次に、SALTメッセージのトレースに使用するTMTRACE仕様の例を示します。

export TMTRACE=msg:ulog:export GWWS_TRACE_LEVEL=100
export TMTRACE=atmi+msg:ulog:export GWWS_TRACE_LEVEL=100

リスト2-1に、SALTトレース・メッセージが含まれたULOGファイルのサンプルを示します。

リスト2-1 GWWSサーバーが記録したTMTRACEメッセージ
183632.BOX1!GWWS.4612.4540.0: TRACE:ms:A HTTP message is received, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:A SOAP message is received, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:Begin data transformation of request message, buffer type = STRING, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:End of data transformation of request message, buffer type = STRING, SCO index=1023

183632. BOX1!GWWS.4612.840.0: TRACE:ms:Delivering a message to Tuxedo, service name =TOUPPER, SCO index=1023

183632. BOX1!GWWS.4612.840.0: TRACE:ms:Got a message from Tuxedo, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:Begin data transformation of reply message, buffer type = STRING, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:End of data transformation of reply message, buffer type = STRING, SCO index=1023

183632. BOX1!GWWS.4612.4540.0: TRACE:ms:Send a http message to net, SCO index=1023

WS-ReliableMessaging通信の場合、さらに複雑なログがTMTRACE=msg:ulogで生成されます。アプリケーションおよびインフラストラクチャのすべてのメッセージはULOGに送信されます。リスト2-2に、WS-ReliableMessaging TMTRACEメッセージが含まれたULOGファイルのサンプルを示します。

リスト2-2 WS-ReliableMessagingでのTMTRACEメッセージ
184706.BOX1!GWWS.3640.4772.0: TRACE:ms:A HTTP message is received, SCO index=1023

184706.BOX1!GWWS.3640.4772.0: TRACE:ms:A HTTP Get request is received, SCO index=1023

184706.BOX1!GWWS.3640.4772.0: TRACE:ms:Send a http message to net, SCO index=1023

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:A HTTP message is received, SCO index=1022

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:A SOAP message is received, SCO index=1022

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:Create a new inbound sequence, ID=uuid:4F1FEE40-72CB-118C-FFFFFFC0FFFFFFA8FFFFFFEB010000-1811

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:Create a new outbound sequence, ID=uuid:f7f76200-f612-11da-990d-9f37c3d14ba7

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:Send CreateSequenceResponse message for sequence uuid:4F1FEE40-72CB-118C-FFFFFFC0FFFFFFA8FFFFFFEB010000-1811

184710.BOX1!GWWS.3640.4772.0: TRACE:ms:Send a http message to net, SCO index=1022

184712.BOX1!GWWS.3640.3260.0: TRACE:ms:A HTTP message is received, SCO index=1022

184712.BOX1!GWWS.3640.3260.0: TRACE:ms:A SOAP message is received, SCO index=1022

184712.BOX1!GWWS.3640.3260.0: TRACE:ms:Begin data transformation of request message, buffer type = STRING, SCO index=1022

184712.BOX1!GWWS.3640.3260.0: TRACE:ms:End of data transformation of request message, buffer type = STRING, SCO index=1022

184712.BOX1!GWWS.3640.3260.0: TRACE:ms:Received a request message in sequence uuid:4F1FEE40-72CB-118C-FFFFFFC0FFFFFFA8FFFFFFEB010000-1811

ULOGトレース情報をチェックすると、GWWSサーバーでのSOAPメッセージに関する問題についてステータスを把握しやすくなります。

GWWSサーバーのモニター

GWWSサーバーは、コマンドライン・ツールであるwsadminユーティリティでモニターできます。このツールを使用して、GWWSの実行時状態を表示できます。

リスト2-3に例を示します。

リスト2-3 wsadminを使用したGWWSのモニター
$wsadmin
wsadmin - Copyright (c) 2005-2010 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by Oracle.
SALT is a registered trademark.

> gwstats -i abcd
GWWS Instance : abcd

Inbound Statistics :
---------------------------------
      Request Response Succ : 74
      Request Response Fail : 32
                Oneway Succ : 0
                Oneway Fail : 0

                 Total Succ : 74
                 Total Fail : 32

       Avg. Processing Time : 210.726 (ms)
Outbound Statistics :
---------------------------------
      Request Response Succ : 0
      Request Response Fail : 0
                Oneway Succ : 0
                Oneway Fail : 0

                 Total Succ : 0
                 Total Fail : 0

       Avg. Processing Time : 0.000 (ms)
---------------------------------
      Total request Pending : 0
   Outbound request Pending : 0
       Active Thread Number : 2


> gws -i out -s getTemp
GWWS Instance : out

Service : getTemp

Outboud Statistics :
---------------------------------
      Request Response Succ : 333
      Request Response Fail : 139
       Avg. Processing Time : 143.064 (ms)


>

gwstats (gwsと省略)コマンドを使用すると、特定のインスタンスIDのGWWSサーバーまたはGWWSサーバー上の特定のサービスに関する統計データを表示できます。このデータには成功または失敗したリクエストの合計などが含まれています。

wsadminを実行する前に、「TUXCONFIG」および「SALTCONFIG」の両方の環境変数を設定する必要があります。wsadminはアクティブ・モードもアクティブでないモードもサポートしているため、Oracle Tuxedoドメインを起動しても、起動しなくてもwsadminを開始できます。

表2-3 wsadminのサブコマンド

表2-3 wsadminのサブコマンド
サブコマンド
説明
gwstats(gws)
GWWSサーバーの統計情報を表示する
configstats(cstat)
構成情報を表示する
default(d)
デフォルトの-iオプションを指定する
echo(e)
エコーのオン/オフを切り替える
forgettrans
指定されたGWWSインスタンスに関する1つまたはすべてのヒューリスティックなログ・レコードを削除します。
printtrans
指定のGWWSインスタンスに関するトランザクション情報を出力します。
paginate(page)
ページングのオン/オフを切り替える
verbose(v)
冗長出力のオン/オフを切り替える
quit(q)
プログラムを終了する

SALTのトラブルシューティング

この項の内容は次のとおりです。

GWWSが起動しない場合

GWWSサーバーを起動できない場合は、次の点をチェックします。

SOAPリクエストがGWWSに拒否される場合

GWWSサーバーがSOAPリクエストを受け付けないという問題が発生することがあります。一般的な原因は次のとおりです。

WSDLドキュメントが正しく生成されない、またはSOAPクライアント・ツールキットに受け付けられない場合

WSDLドキュメントがWebサービス・クライアント・ツールキットに受け付けられない場合、次の処理を行います。

 


関連項目


  先頭に戻る       前  次