JBossの歴史と単体での性能比較
スループット比較
負荷試験は3回実施し、3回の平均を比較します。まずは、スループットの結果です。
APサーバ | 1回目 | 2回目 | 3回目 | 平均 |
---|---|---|---|---|
JBoss EAP | 16.3 | 15.3 | 15.2 | 15.6 |
JBoss AS | 17.5 | 16.8 | 16.5 | 16.9 |
Tomcat | 19.1 | 18.8 | 18.7 | 18.8 |
スループットを比較した結果が上の表になります。Tomcatは、JBoss EAPに比べて20%ほど処理能力が高いという結果になりました。Tomcatは機能が限定されている分、処理も軽いのではないかと推測されます。JBoss ASもJBoss EAPに比べて8%ほど処理能力が高いという結果になりました。JBoss EAPについてはRed Hatが検査して再パッケージングしていますが、本試験ではその効果は特に見られませんでした。
レスポンスタイム比較
アプリケーションに対する同時接続数を増やしていった際の、レスポンスタイムの平均を計測しました。
トップページに負荷をかけた場合のレスポンスタイム
まず、アプリケーションの中でも比較的データ量が少ないトップページ(図5)に対して負荷をかけていった結果がこちらのグラフです。
同時接続数を多くしていくと、JBoss EAPはTomcatやJBoss ASに対してレスポンスタイムが悪くなるということがわかります。このテストでは、TomcatとJBoss ASにはそれほど差はありませんでした。
商品一覧画面に負荷をかけた場合のレスポンスタイム
アプリケーションの中でも処理が重い商品一覧ページ(図7)に対して負荷をかけてみた結果が、こちらのグラフになります。
最初の試験ではJBoss ASとTomcatは同等の性能でしたが、処理が重くなるとレスポンスが低下することがわかります。同時接続数が増加するとレスポンスが低下するのは各プロダクト共通ですが、JBoss EAPはTomcatやJBoss ASに比べて低下が比較的緩やかだという傾向になりました。
レスポンスタイムの分布
前述のレスポンスタイム計測試験にで得られたデータで、同時接続数を300とした際のレスポンスタイムの分布状況を比較してみます。
トップページ
図6のレスポンスタイムの分布をグラフにしたものです。グラフの横軸はレスポンスタイム、縦軸はレスポンスの件数となっています。
図6でJBoss EAPと比べてレスポンスが良かったTomcatとJBoss ASは、グラフが左側に寄っています。
商品一覧画面
図8のレスポンスタイムの分布状況は、下のグラフになります。
TomcatとJBoss ASはグラフの山が低いのに対し、JBoss EAPはグラフの山が高いことがわかるかと思います。これはJBoss EAPがレスポンスタイムの平均(700〜800ms)付近の値を示すトランザクションが、TomcatやJBoss ASに比べて多かったことを意味します。
結果の考察
APサーバ単体での性能を比較するためにスループット、レスポンスの比較をしてみましたが、負荷の軽いアクセスについてはTomcat、JBoss ASの処理が速い一方、負荷が高いアクセスに対してはJBoss EAPの処理が速く安定している、ということが言えそうです。
JBoss EAPはエンタープライズ向けに再構成してリリースされていますので、今回の結果はその影響が現れたといっていいのかもしれません。
性能検証の結果としてレスポンスタイムを計測したものはよく見ますが、そのときの分布も合わせて見てみると、プロダクトごとの傾向がより明確になります。製品選定や開発時の評価基準として参考にして頂ければ幸いです。
次回はJBoss(EAP/AS)、Tomcatをクラスタ構成にした場合の性能について比較してみたいと思います。