2010年3月22日月曜日

[Lift][GAE] spin-up時間を測定してみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
@yuroyoroさんがGAE上のScalaのスピンアップ時間を測定していたので、倣ってLiftのspin-up時間を測定してみた。前は数回適当に起動した時間を見ていて7-8秒って感じだったのを、もうちょっと正確に。

測定したのはarchetype:blankで生成される、LiftテンプレートとSnippetを使用したHelloWorld。また、不要なjarを減らしたら早くなるのかも気になったのでいくつかパターンを用意してみた。

結果

appavemaxmin
lift-blank *1682973385938
nomapper *2668171056035
nomapper/nojson *3653171245705
min *4648172405957
  1. Lift2.0-M3のarchetype-blankをそのままGAEに載せたもの
  2. GAE上ではあまり使わないと思われるlift-mapperのjarを取り除いたもの
  3. ↑からさらにlift-jsonのjarを取り除いたもの
  4. ↑からさらにHelloWorldには不要なjar(javax.mail, commons-codec)を全て取り除いたもの

考察

  • 簡単なLiftテンプレート+Snippetだと、Lift単品では7秒弱。
  • maxとminが前後しているのは気になるが、平均で見ると不要なjarを取り除くと若干早くなるっぽい。
    ※前測って7-8秒だったのは、Lift以外のライブラリのjarがあったのでさらにオーバーヘッドがかかったのか?

ほか気づいたこと

Liftがリクエストの処理にかかった時間をログに出してくれるのだが、初回がやたら遅くて3秒ほどかかっているのでこれがspin-upの半分を占めている。2回目のリクエストからは数ms…。
INFO - Service request (GET) / took 3056 Milliseconds
次はこれを調べてみることにする。

0 件のコメント:

コメントを投稿