Revision 3 as of 2009-12-28 01:12:41

Clear message
Locked History Actions

wicket/SlowAndHeavy

Wicketアプリが重くて遅い

Wicketで作成したアプリが重くて遅く、とても実用にならない場合がある。これはどんな場合かというと、

  • アプリケーションをスタンドアロンのjarとしてまとめ、それを実行したとき。つまり、アプリそれ自体に例えばJettyを内蔵させてスタンドアロンのアプリケーションとして実行した場合。

確認していないが、おそらくwarファイルの場合はあまり問題が出ないものと思われる(遅くなる可能性があるが)。また、例えばEclipse上でのそのアプリを開発中の場合は問題が顕在化しない。これはなぜかというと。

  • プログラムをjarファイルの形にまとめた時にだけ問題が現れる。

からである。warファイルも同じようなものであるが、サーブレットコンテナ上で実行される場合は、それが展開された形になる(たしか)ので、問題が現れない。

現象

以下は、あるアプリを数分間動作させ、数枚のページ遷移を実行したものである(VM引数として-Xloggcをつけ、gcviewerで表示)。 すぐにデフォルトの64Mを使いきってしまうことがわかる。もちろんアプリの動作は非常に重く、操作を続行するとメモリ不足が起こる場合もある。

gcviewer1.png