WicketのCPU負荷
Wicketはメモリをいっぱい消費することは有名ですが、メモリ管理を自動で行ってくれるので、不要になったデータはハードディスクに保存されたり、破棄されたりするので、これは比較的問題なさそうです。
実際のところ、どうなのか、jconsoleで実験してみました。
実験内容:
ページ1枚を表示し、ひたすらF5を連打
※ページの内容がどのようなものなのかは、お見せできないことはご容赦ください。
CSSなどでフルデザイン済みの一覧ページです。パネル3枚くらい使用しています。
10〜15MBの間で推移しています。
サーバに数GBのメモリを積めば問題なさそうですね。
しかし、新たに問題を感じてきたのがCPU負荷です。
以下は、Servletを使った、古いアプリでの実験結果です。
JSPコンパイル時に高い負荷がかかっていますが、F5連打中は負荷らしい負荷がありません。
※ここで言う負荷とは、APサーバのCPU負荷で、DBサーバは下記両者とも、同条件にしているため、無視します。
一方、下記がWicketを使用したページでの結果です。
あきらかに、Wicketの場合は、ページ描画時に一生懸命CPUが処理していますという感じがしました。
この差は大きいかもしれません。
というのも、ECサイトでは、1時間あたり最大数万PVを処理する必要があるからです。
負荷が高いのはアクセスが集中した一瞬とはいえ、無視できないかもしれません。
今後要調査です。
追記:
実験環境
1枚目は、デスクトップPC Core2Duo, メモリ4GB
2,3枚目はノートPC PentiumM 1.1GB メモリ1.2GB