2011-09-15 16 views
3

私は最近、データベース(JPA)のバックアップ構成に大きく依存するかなり動的なWebアプリケーションを構築しています。これらのアプリケーションは、エンドユーザーがJPAエンティティに基づいてカスタムフォームを作成できるマルチユーザー、マルチアカウントシステムです。Struts 2 OGNL:イテレータとJSTL c:forEachのパフォーマンス

私のJSPページがより複雑になり、パフォーマンスと負荷時間がヒットしていることに気付きました。もともと私はそれがボトルネックの原因となっていたデータレイヤーだと思っていましたが、今日は、JSTLベースの反復スキームを使ってストラットで反復処理されるオブジェクトのリストを使って、ページの読み込み時間が約10秒から約1秒に短縮されました。リスト・サイズが大きくなるにつれて、JSPページのレンダリング時間は実質的に(struts2のOGNL反復で)増加します。

私のstrutsの設定では、私はdevモードをオフにして、単純なテーマセットを使用しています。何も特別なものはありません。ストラーツの代わりにJSTLを使用するために私の反復ヘビーなページのいくつかを書き直すことを検討していますが、私は何かが不足しているか、誰かが同様の状況に遭遇しているかどうかを尋ねると思いました。

答えて

5

OGNLはかなり遅いです。より新しいバージョンでは、いくつかのパフォーマンスを改善する予定です。

IMOここで、S1と同様に、S2とJSTLタグの機能が重複していますが、私はJSTLに傾いています。

あなたの実際のプレゼンテーションレイヤーについて詳しく知りませんでしたか、どのような対策をincrease performanceにしていますか、テーマテンプレートの外観についての詳細は、もっと言いたいことです。

+0

Daveに感謝します。私はあなたの提供されたリンクによって示唆されたすべてのドキュメントを通過し、提案された設定を使用して簡単に演奏しました。ボトルネックと思われるのは唯一のものなので、反復回数が多いページでJSTLを使用する必要があるようです。私は単純なテーマを使用し、純粋なHTML/CSSですべてのJSPプレゼンテーションを構築するので、そこにハングアップがあってはいけません。私は、反復セクションをインクルードとして分割し、代わりにJSTLでマークアップします。 –

+0

私はそうです。 OGNLの貧弱なパフォーマンスは、しばらくの間、私たちにとって大きな問題でした。 ELエンジンを交換可能にする試みが開始されました(私たちはMVELをターゲットにしていました)が、これまでどんなリリースにも巻き込まれていないと思います...それはかなり慎重に見えるかもしれません。 –

+0

いくつかの調査をしているうちにこれを見つけただけで、面白いかもしれないと思った:http://struts.apache.org/2.2.3.1/docs/using-struts-and-xwork-with-jsp-20-and-jstl -11.html –

関連する問題