一.システム性能最適化の応用シーン
一部の帳票ロード時間が非常に長い
大量なデータによるOOM(アウトオブメモリ)
同時アクセス数が増加し、サーバが対応できなくなり、システムダインを引き起こす
リクエストタイムアウトが頻繁に発生
FineReport帳票システムを利用する際、上記の問題に遭ったことがあるのでしょうか。これら問題の解決策と再発防止策として、システム性能最適化が考えられます。
二.帳票システムの性能を影響する要素
なぜ上記の問題とエラーはが出現したのかについて、以下の原因が考えられます。
1.帳票のデータフェッチ
一般的に、帳票が複雑になるほど、それに関わるバックエンド データベースのベーステーブルも多くなります。が膨大なデータを表示するフォーマットの簡単なリスト型帳票のほか、大部分の帳票というのは、数十万または数百万の生データの中からフォルダ、演算した上で数十または数百ものデータ結果が得られます。データフェッチ
の使用方法が適当でなければ、帳票の命令サイクルが予想以上にかかり、性能に悪影響を与えます。
2.帳票作成
帳票を作成する時にはフィールドの関連、ハイライト表示、データディクショナリ、フォーミュラ等の帳票の埋め込み機能を利用する場合が多いです。これらの機能を正しく使用していない場合または帳票に余計な設定があると、このような不要な設定が原因で計算に時間がかかってしまい、性能に悪影響を与えます。
3.サーバの性能
FineReport は Pure Java 製のソフトとして、J2EE アプリケーションと完璧に統合することができます。サーバーに統合された帳票はサーバーのリソースを受け継ぐこともできます。サーバーのバーチャルメモリー、接続プールの設定等においては性能問題が発生するケースが多いです。
三.FineReport の性能を最適化する方法
性能に影響するファクターについて、FineReport は様々な最適化ソリューションを備えています。例えば、SQL に対する最適化、ストアド プロシージャの使用等によるアクセス最適化、冗長セルと不要な設定を減らすことによる帳票の計算時間短縮、並行配置、キャッシュ配置、クラスターの導入によるサーバーの性能向上等。
要するに、FineReport の性能最適化は主に帳票性能最適化とサーバ性能最適化の二つの方法があります。
四.本章のターゲットグループ
FineReportシステム性能最適化は基本な帳票設定知識を身に着けたIT部門のエンジニア、又はサーバディプロイ統合に詳しいシステム管理員に向いています。