コラボレーション・エンジニアの考える日々

企業での情報共有とコミュニケーションについて、ITを中心に企業コラボレーションを考えていくブログです。

XPagesで作り直すと3倍のパフォーマンス向上になる

XPagesで作ったディスカッションDBと従来のディスカッションDBのパフォーマンス比較がdeveloperWorksに載っている。XPagesは、サーブレット実行環境の上で動作するのでサーバーコードの再インスタンス化が不必要だし、AJAXによる部分更新も実装されているので、アプリケーションのパフォーマンスは上がるだろうと思っていた。しかし、パフォーマンス比較テストする機会がなく、ただ頭の中で考えているだけだったが、今回、XPagesのパフォーマンスが証明された格好だ。


■同時アクセスユーザー数は2.5倍向上
以下のグラフを見てみると、まず、横軸の同時アクセスユーザー数が目に付く。レスポンスタイム3秒以下の条件下で、7.0のテンプレートは250ユーザーまでであるのに対して、XPagesは600ユーザーまでスケールしている。約2.5倍のパフォーマンス向上だ。500ユーザーから600ユーザーにかけて、CPU使用率はやや急激に上がっているが、これは単一DBにアクセスしているため、DBセマフォの関係でこうなっているようだ。メールサーバーの場合、1ユーザー1DBなので、単一サーバーで同時アクセスユーザー数としては、5,000ユーザー以上も可能だが、それとは違う。この点は、キャパシティプランニングをする上での注意点となるだろう。


■必要ネットワーク帯域は半分以下
さらに以下のグラフを見ると、同時200ユーザーでネットワーク帯域は、XPagesの方は7.0テンプレートより約44%の帯域で済んでいる。これは、GZIP圧縮による効果だ。


■ディスクI/Oには注意
以下の2つのグラフを見ると、Disk I/O per SecがXPagesの方が2倍多いし、Disk KB per Secも約3.4倍に上がっている。つまり、ストレージシステムとしては、7.0の時代より、より高い性能が求められるということだ。いいことばかりではないらしい。Dominoサーバーのパフォーマンスは、昔からDisk I/Oがボトルネックとなる特性を持っている。ただ、前述のグラフの500ユーザーから600ユーザーへのCPU使用率の上がり方をみると、サーバーパフォーマンス全体として、CPU使用率が先にボトルネックになる場合も出てきそうだ。





XPagesは、Web2.0アプリケーションの開発生産性を上げるだけでなく、サーバーパフォーマンスも上がることがこれでわかった。これは8.5.2でのXPagesパフォーマンス向上が効いている。今後、XPagesのパフォーマンス向上にはさらに取り組んでいくようなので、さらに期待していきたい。