web.xml
web.xmlファイルには、Yellowfinアプリケーションの設定および展開に関する情報が含まれています。Yellowfinのweb.xmlファイルは次のディレクトリに格納されています。Yellowfin\appserver\webapps\ROOT\WEB-INF
Yellowfinのインストール時に、インストール固有の設定値がweb.xmlに保存されます。これらの設定は、Yellowfinの正常な起動および実行に際して非常に重要な意味を持ちます。
JSPを含める
ファイル先頭近くの<ENTITY>行では、次のようにYellowfinのパスをURLとして正確に指定する必要があります。<!ENTITY jsps SYSTEM "file:/C:/Program Files/Yellowfin/appserver/webapps/ROOT/WEB-INF/web-jsps.xml">
または<!ENTITY jsps SYSTEM "file:/usr/Yellowfin/appserver/webapps/ROOT/WEB-INF/web-jsps.xml">
リポジトリデータベースのパラメーター
Yellowfinリポジトリデータベースの接続パラメーターは、Yellowfinが動作するためにweb.xml内で正しく設定する必要があります。これらの設定は、InitConnectionPoolという名前の<servlet>セクションに存在します。接続パラメーターは以下のとおりです。
JDBCDriverClass | JDBCドライバークラスの名前 | 必須 |
JDBCUrl | データベースに接続するためのJDBC URL | 必須 |
JDBCUser | 接続に使用するユーザー名 | 必須 |
JDBCPassword | 接続に使用するパスワード | 必須 |
JDBCPasswordEncrypted | JDBCPassword内のパスワードが暗号化されているかどうか(true/false) | オプション(デフォルトはfalse) |
JDBCMinCount | データベースに対して開かれる最少接続数 | 必須 |
JDBCMaxCount | データベースに対して開かれる最大接続数 | 必須 |
JDBCTimeout | 接続が閉じられるまで接続が使用中である時間(秒単位)。 | オプション(デフォルトは300) |
PSCacheSize | 1接続あたりにキャッシュされるプリペアドステートメントの数(最大)。ゼロに設定すると、プリペアドステートメントのキャッシュが無効化されます。 | オプション(デフォルトは20) |
詳細については、Yellowfinフォーラムの次の投稿を参照してください。http://www.yellowfinbi.com/YFForum-Connecting-to-the-Yellowfin-Repository-DB-?thread=105090
全般的なYellowfin起動パラメーター
さまざまなYellowfinの構成要素に影響する数多くの全般的な起動パラメーターがあります。これらの設定は、MIStartupという名前の<servlet>セクションに存在します。パラメーターは以下のとおりです。
ReportCacheSize | レポート結果キャッシュに格納する結果セット数 | オプション(デフォルトは20) |
ReportCacheMaxAge | レポート結果キャッシュ内の結果セットの最長保存期間(ミリ秒単位) | オプション(デフォルトは24時間) |
BIRTPath | BIRTサポートファイルへのパス | オプション |
ScanJarFiles | 起動時にJDBCドライバーをスキャンするかどうか(true/false) | オプション(デフォルトはtrue) |
JDBCDrivers | 起動時の検索対象JDBCドライバークラスの名前(カンマ区切りで表記)。ScanJarFilesがfalseである場合、このパラメーターを使用して使用可能なドライバーを指定します。 | オプション |
クラスタリング
クラスタリングによって、同一のデータベースに対してYellowfinを複数のサーバー上で実行することが可能になります。Yellowfinをクラスター化するには、以下の内容に各自のWebサービス情報を反映させてweb.xmlファイルに追加する必要があります。
<!-- Cluster Management --> <servlet> <servlet-name>ClusterManagement</servlet-name> <servlet-class>com.hof.mi.servlet.ClusterManagement</servlet-class> <init-param> <param-name>ServiceUser</param-name> <param-value>admin@yellowfin.com.au</param-value> </init-param> <init-param> <param-name>ServicePassword</param-name> <param-value>test</param-value> </init-param> <init-param> <param-name>ServiceAddress</param-name> <param-value>/services/AdministrationService</param-value> </init-param> <init-param> <param-name>ServicePort</param-name> <param-value>80</param-value> </init-param> <init-param> <param-name>ClusterHosts</param-name> <param-value> 192.168.4.196 </param-value> </init-param> <load-on-startup>11</load-on-startup> </servlet>
クラスタリングにより、以下の動作が確約されます。
- 1つのサーバー上で参照コードに変更を加えた場合、その他のすべてのサーバーはそれぞれの参照コードを再読み込みします。
- ビューを変更した場合、古いバージョンはすべてのサーバーのキャッシュから削除されます。
- 新しいライセンスをアップロードすると、すべてのサーバーに更新されます。
注意:特別なライセンス(マルチキャスト)が必要になります。詳細についてはYellowfin(sales.jp@yellowfin.bi)までご連絡ください。
パフォーマンスチューニング
高速なCPUやメモリの割り当てなどのハードウェア性能の強化以外に、Yellowfinのパフォーマンスチューニングするためのさまざまな方法があります。性能および構成の設定の詳細については、サーバー性能に関するホワイトペーパーを参照してください。
Webサーバー接続
Tomcat Webサーバーのデフォルト設定では、最大100ユーザーを扱いますが、このデフォルトや最大接続数を調整して、より多くの同時接続を可能にします。
これらのパラメーターは、$INSTALL_DIRECTORY \appserver\webapps\ROOT\WEB-INF\web.xmlファイルで設定できます。
このファイル内での対象コンテキストは、サーブレット「InitConnectionPool」に対するものです。
Yellowfinデータベース接続
Yellowfinアプリケーションサーバーは、レポートの設定情報およびメタデータにアクセスするためにYellowfinデータベースサーバーへの接続が必要です。この接続数を調整して、それぞれのインストールで予想される同時ユーザー数に応じたより高いスループットを得ることができます。
データベース接続数のデフォルトと最大は、$INSTALL_DIRECTORY\appserver\webapps\ROOT\WEB-INF\web.xml
ファイルで変更できます。
現在のデフォルトは、2(最少)および5(最大)です。この接続制限を変更すると、パフォーマンスが向上する可能性があります。
注意:Yellowfinのパフォーマンスに問題がある場合、接続パラメーターの変更が解決に役立つ場合があります。ただし、ハードウェア構成を検討して、それぞれの環境で必要な同時ユーザー数をサポートするように設定する必要があります。詳細については、サーバー性能に関するホワイトペーパーを参照してください。
Java仮想マシン(JVM)ヒープサイズ
Yellowfinには、構成ファイルで設定される絶対的なメモリ制限があります。サーバーに空きメモリがある場合でも、アプリケーションはこの制限を超えてメモリを割り当てることはありません。この制限によって、Yellowfinがより多くのメモリを必要とする場合にエラーが発生する可能性があります。
JVMの最大メモリを拡張する方法は、Yellowfinの起動方法によって異なります。
Windowsサービス
Yellowfinサービスを最初にインストールするとき、メモリの上限はYellowfin\appserver\bin\service.batファイルを参照して設定されます。このファイルを編集してデフォルト値の指定を変更することができますが、このファイルはサービスをインストールする時にだけ読み取られます。既存のサービスのメモリ制限を変更するには、以下の手順に従ってください。
- コマンドプロンプトを開いて、Yellowfinインストールディレクトリ下のappserver\binディレクトリに移動します。
- 次のコマンドを実行します。
tomcat7w.exe //ES//Yellowfin
このコマンドはYellowfinサービスのサービスマネージャーを実行します。「Java」タブに移動して、「メモリ初期使用量」および「メモリ最大使用量」の値を変更します。
- Yellowfinサービスを再起動して変更を反映します。
Windows「スタート」メニュー
YellowfinサーバーをWindows「スタート」メニューから起動する場合、メモリ制限は起動バッチファイルを参照されます。
- Yellowfinを終了します。
- Yellowfin\appserver\bin\catalina.batファイルを編集します。
次のセクションを見つけます。
rem Memory limits. rem Use these options to set the Java memory limits. rem -Xms128m sets the initial Java heap size to 128Mb rem -Xmx512m sets the maximum Java heap size to 512Mb rem To set memory limits uncomment the following line: rem set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
- 最後の行の先頭にある"rem"を削除して、Xmxオプションを必要な最大メモリ設定に変更します。
- Yellowfinを再起動して変更を反映します。
Linux/Unix/Mac OSX
YellowfinをLinux/Unix/Mac OSXで実行する場合、メモリ制限は起動スクリプトを参照します。
- Yellowfinを終了します。
- <Yellowfinインストールディレクトリ>/appserver/bin/catalina.shファイルを編集します。
次のセクションを見つけます。
# Memory limits. # Use these options to set the Java memory limits. # -Xms64m sets the initial Java heap size to 64Mb # -Xmx256m sets the maximum Java heap size to 256Mb #JAVA_OPTS="$JAVA_OPTS -Xms64m -Xmx256m"
- 最後の行のコメントを無効にし、Xmxオプションを必要な最大メモリ設定に変更します。
- Yellowfinを再起動して変更を反映します。
パフォーマンスの詳細については、Yellowfinフォーラムの次の投稿を参照してください。http://www.yellowfinbi.com/YFForum-General-questions-on-performance-?thread=104626