Locked History Actions

Diff for "wicket/SlowAndHeavy"

Differences between revisions 2 and 3
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:

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

{{attachment:gcviewer1.png}}

Wicketアプリが重くて遅い

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

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

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

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

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

現象

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

gcviewer1.png