Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus XML Processor ユーザーズガイド


3.4.9 事前解析用XML文書のチューニング

事前解析用XML文書のチューニング情報を参照すると,高速パース機能が効果的に動作しているかどうかを調査できます。調査結果を基に事前解析用XML文書を最適化することで,解析速度をさらに向上できます。

事前解析用XML文書のチューニング情報の種類,利用方法,および出力方法について説明します。

〈この項の構成〉

(1) チューニング情報の種類

チューニング情報として出力できるファイルは,次の2種類です。

これらのファイルには,解析時のマッチング処理についての情報が出力されます。マッチング処理とは,解析時に解析結果オブジェクトの情報を利用できたかどうかを判定する処理のことです。解析結果オブジェクトの情報を利用できた場合を「マッチング処理に成功した」,解析結果オブジェクトの情報を利用できなかった場合を「マッチング処理に失敗した」といいます。

各ファイルについて説明します。

(a) チューニングサマリファイル

高速パース機能を使用したそれぞれの解析について,マッチング処理の成功率,解析結果オブジェクトの生成に使用した事前解析用XML文書のファイル名,解析対象のXML文書のシステム識別子,チューニング詳細ファイル名などが出力されます。高速パース機能を使用した解析処理で,どのくらい効果的に解析結果オブジェクトが利用されているかを調査できます。

チューニングサマリファイルの詳細については,「3.4.10 チューニングサマリファイルの詳細」を参照してください。

(b) チューニング詳細ファイル

高速パース機能を使用した1つの解析について,チューニングサマリファイルの情報に加え,マッチング処理の履歴が出力されます。高速パース機能を使用した解析処理で,マッチングに失敗している個所の詳細を調査できます。

チューニング詳細ファイルの詳細については,「3.4.11 チューニング詳細ファイルの詳細」を参照してください。

(2) チューニング情報の利用方法

チューニング情報の利用方法を次に示します。

  1. チューニング情報を出力する。

    チューニング情報の出力方法については,「3.4.9(3) チューニング情報の出力方法」を参照してください。

  2. チューニングサマリファイルを参照して,マッチング処理の成功率が低い解析を抽出する。

    マッチング処理の成功率が低いということは,解析結果オブジェクトが学習した事前解析用XML文書の構造と解析対象のXML文書の構造の違いが大きく,高速パース機能が効果的に動作していないことを示します。

  3. 2.で抽出した各解析について,チューニング詳細ファイルを参照して,マッチングに失敗した個所の履歴を調査する。

    マッチングに失敗した個所の履歴を調査して,事前解析用XML文書と解析対象のXML文書の構造が不一致になっている部分を抽出します。

  4. 事前解析用XML文書を修正する。

    3.の調査結果を基に,事前解析用XML文書を修正します。事前解析用XML文書を作成するための指針については,「3.4.3 事前解析用XML文書の作成」を参照してください。

注意事項

解析対象のXML文書に記述されているすべての要素や属性が事前解析用XML文書に含まれていても,マッチング処理の成功率が低い場合は,高速パース機能の効果は低くなります。

解析対象のXML文書に記述されているすべての要素や属性が事前解析用XML文書に含まれていても,マッチング処理の成功率が低下する場合の例を次に示します。

[図データ]

この例では,解析対象のXML文書でremark要素が省略されているため,remark要素のマッチング処理は失敗し,チューニング詳細ファイルに失敗履歴が記録されます。この結果,マッチング処理の成功率が低下します。

(3) チューニング情報の出力方法

チューニング情報を出力するには,XML Processorが規定するシステムプロパティを設定する必要があります。また,PreparsedObjectを使用した高速パースでチューニング情報を出力する場合は,システムプロパティの設定に加え,PreparsedObjectFactoryクラスのsetTuningInfoFlagメソッドでtrueを設定して,PreparsedObjectを生成する必要があります。PreparsedObjectFactoryクラスの詳細については,「3.4.7(1) PreparsedObjectFactoryクラス」を参照してください。

チューニング情報を出力するためのシステムプロパティ,チューニング情報の出力先,およびエラー発生時の動作について説明します。

注意事項

チューニング情報を出力した場合は,解析性能が劣化します。このため,チューニング情報は,高速パース機能の性能を評価するときだけ出力してください。

(a) チューニング情報を出力するためのシステムプロパティ

システムプロパティ名

com.cosminexus.jaxp.preparsedxml.tuning.level

  • OFFまたはこのプロパティを設定していない場合:チューニング情報を出力しない

  • INFO:チューニング情報を出力する

大文字のINFO以外が指定された場合は,OFFが指定されたものとして扱われます。

(b) チューニング情報の出力先

チューニング情報は,高速パース機能を利用した解析の終了時に出力されます。チューニング情報の出力先は,次の順序で決定されます。

  1. <サーバのログ出力ディレクトリ>/jaxp

    注※ <サーバのログ出力ディレクトリ>は,動作しているサーバによって異なります。

    J2EEサーバの場合

    J2EEサーバのオプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーに指定されているディレクトリです。デフォルトでは,次のディレクトリとなります。

    <製品の作業ディレクトリ>/ejb/<サーバ名称>/logs

    Webコンテナサーバの場合

    Webコンテナサーバのオプション定義ファイル(usrconf.cfg)のweb.server.log.directoryキーに指定されているディレクトリです。デフォルトでは,次のディレクトリとなります。

    <Application Serverのインストールディレクトリ>/CC/web/containers/<サーバ名称>/logs

  2. <user.dirシステムプロパティで取得できるディレクトリ>/logs/jaxp

なお,同名のファイルは上書きされます。同名のファイルが存在する場合は,必要に応じて退避してください。ファイル名の規則については,「3.4.10(1) ファイル名(チューニングサマリファイル)」および「3.4.11(1) ファイル名(チューニング詳細ファイル)」を参照してください。

また,チューニングサマリファイルおよびチューニング詳細ファイルは自動的には削除されません。必要に応じて削除してください。チューニングサマリファイルのファイルサイズの上限値については,「3.4.10(3) ファイルサイズの上限値」を参照してください。チューニング詳細ファイルの合計ファイルサイズの上限値については,「3.4.11(3) 合計ファイルサイズの上限値」を参照してください。

(c) エラー発生時の動作

エラーが発生してチューニング情報を出力できない場合の動作を次に示します。

入出力エラーが発生した場合

チューニングサマリファイル,およびチューニング詳細ファイルを出力する際に入出力エラーが発生した場合は,これらのファイルは出力されません。また,IOException例外が発生します。

XML文書の解析中にエラーが発生した場合

チューニングサマリファイルには情報が出力されません。チューニング詳細ファイルには,エラーが発生する前までの情報が出力されます。