リポジトリキャッシュ機能によるレスポンス改善
リポジトリキャッシュとは
同じレポートを再実行する際に、前回の実行結果を表示することでレスポンスを早くする機能です。
メリット:レスポンスが遅いレポートが瞬時に実行される。
デメリット:リアルタイム性が失われる。
キャッシュが利用される範囲
以下の3種類の範囲があります。
- 実行したユーザ自身のみ
- 実行したユーザが所属するグループのみ(キャッシュの共有)
- 全員(キャッシュの共有)
想定利用シーン
以下のようなシーンで利用すると効果的です。
- リアルタイム性を求めないもの
- レスポンスを改善したいもの
- ダッシュボード等(1アクセスで多数のリクエストが走るもの)
- 人によって検索条件がそれほど変わらないもの
キャッシュの設定方法
以下のようなシーンで利用すると効果的です。
IBFSパスと呼ばれるWebFOCUSのファイル管理機能を利用してプロシジャを個々に登録します。
初期設定
- WebFOCUS管理コンソールに管理者アカウントでアクセスします。
http://servername/ibi_apps/admin - [構成] – [アプリケーションの設定] – [アプリケーションキャッシュ] をクリックします。
- [レポート出力キャッシュ]を 「オン」に設定します。
- [保存]ボタンをクリックします。
ブラウザは閉じずにそのまま開いておいてください。
キャッシュの設定
初期設定を行ったブウウザ上にて操作を行います。
- RESTful API のテストページから putProperty の設定フォームにアクセスします。http://servername/ibi_apps/wfirs/ibfs?IBFS_action=TEST#putPropertyForm
- WebFOCUS ibfs Web Servicesの画面にて、[putProperty]のリンクをクリックします。
- 以下を設定して「putProperty」ボタンをクリックします。
パラメータ名 | 設定例 |
IBFS_path | IBFS:/WFC/Repository/test/report.fex (プロシジャのフルパスを指定) |
IBFS_propertyValue | キャッシュの共有範囲 U_xxx:実行したユーザ自身のみ G_xxx:実行ユーザの所属グループ E_xxx:全員 __null:キャッシュの削除 ※xxxは任意の文字列 |
IBFS_propertyName | cacheRules |
IBFS_args | 初期値のまま(変更しない) |
IBIWF_SES_AUTH_TOKEN | 初期値のまま(変更しない) |
設定イメージ
正常に設定された場合のレスポンス例
以下の画像はputPropertyを設定後、[putProperty]をクリックした際に表示されるレスポンス例です
プロシジャの記述例
設定されたキャッシュルールの確認方法
レガシーホームページから、プロシジャのプロパティを参照することで確認できます。
- 以下のURLからレガシーホームページにアクセスします。
http://servername/ibi_apps/legacyhome - プロシジャを右クリックし、[プロパティ]を選択します。
プロパティにcacheRulesが設定されていれば正常に設定されています。
キャッシュデータの削除(キャッシュ設定自体は残す)
- すべてのキャッシュの削除
- WebFOCUS管理コンソールから「キャッシュのクリア」を指定
http://servername/ibi_apps/admin
- WebFOCUS管理コンソールから「キャッシュのクリア」を指定
- レポート毎のキャッシュの削除
- RESTful APIを使用し、IBFSパスを指定してキャッシュデータを削除http://servername/ibi_apps/wfirs/utils?IBFS_action=TEST#clearReportCacheByPathForm
- ルール毎のキャッシュの削除
- RESTful APIを使用しcacheRules名を指定して削除
http://servername/ibi_apps/wfirs/utils?IBFS_action=TEST#clearReportCacheByRuleForm
- RESTful APIを使用しcacheRules名を指定して削除
Tomcat の再起動等では削除されないのでご注意ください。
キャッシュ設定の削除
- RESTful API のテストページから putProperty の設定フォームにアクセスし、「IBFS_propertyValue」を「__null」に設定
キャッシュが無効なルールを設定します。