Glassfish 2.1についてその後
あれから色々ネットを漁ると、Glassfishのサーブレットコンテナ部分はTomcatそのものと書いている所などあったが、Sun的な公的資料?にはTomcatをベースに保守してますよみたいな事が書かれていた。
https://glassfish.dev.java.net/ja/public/WP_GlassFish_Overview.pdf
さらに、やはりGlassFishはgrizzlyを基底とするHTTPコネクタしか提供していないそうな。で、Tomcatのajpは再開発ではなくcoyoteコネクタをそのまま貰ってくるそうな。まじかー!? こんな飛び道具を使ってくるとは。見直したぞSun。なかなかの離れ業を見せてくれる。
ただ一つ、非常に残念なお知らせがある。Pentium !!! 700MHz メモリ512M HDD ATA100 80GB Vine Linux 4.2 Sun Java 1.5.0_14という状況で標準インストールした直後(チューニングがされていない)の状態だと、GlassFish 2.1はTomcat 5.5よりもはるかに遅いのである。
・Tomcat 5.5にwarファイルをデプロイする(webappに置くだけ)。jspのプリコンパイルは無し。
→アクセスした時、jspのコンパイルも一瞬で終わる。爆速。Tomcat 3.2.1や4.1.24から比べて恐るべき進化である。
・GlassFish 2.1にwarファイルを管理コンソールからデプロイする。jspのプリコンパイルあり。
→サーブレットのロードに10秒はかかっているようだ。jspはプリコンパイルされているはずなのでコンパイル済みJasperサーブレットの読み込みにも時間を取られているのか? 2回目以降のアクセスは確かに一瞬。いずれにせよTomcat 5.5の初回アクセスに劣る応答時間。
メモリか? メモリを増やせばよいのか? 一応管理コンソールでヒープを128~192まで当てて試してみたのだが、状況は変わらず。256まで当ててみるか。うむむ。Pentium 4 2.8GHz メモリ 1.5GB HDD ATA133 120GB Windows XP Home Edition Sun Java 1.5.0_12という状況でもGlassFish 2.1はデプロイ直後のアクセスが遅い。ヒープを512当ててデプロイしたhelloアプリでも4秒~5秒はかかる。なんと。
GlassFishをSunの奴が満を持して出してきた以上、少なくともTomcat 5.5よりは健闘してもらいたいのじゃが。何か設定が悪いのじゃろうか。