![]() |
||||||||
|
||||||||
| 1 2 3 次のページ | ||||||||
| JBossコミュニティの行方 | ||||||||
|
3回にわたって紹介している「JBoss World Las Vegas 2006」も今回で最終回となる。残りのセッションの紹介とともに、今回のカンファレンスを総括する。 |
||||||||
| EJB3/Seam Web Tier Performance and Scalability | ||||||||
|
このセッションでは、Michael Yuan氏(JBoss/Red Hat Inc.)とDave Jaffe氏(Dell Inc.)によるJBoss Seamアプリケーションのパフォーマンスに関する考察が行われた。 JBoss Seamを用いて簡素なWebアプリケーション(DBアクセスは一切なし)を作成し、負荷テストツールを用いて300ユーザから1200ユーザまでの同時アクセスによる負荷をかけた。その結果、JBoss Seamアプリケーションに特有の2つの問題が明らかとなった。 1つめの問題はメモリの使用量に関する問題である。JBoss Seamでは、HTTPセッションによるキャッシュを行っていないので(メモリリークを避けるため)、ガーベジコレクトしなければならない多くのオブジェクトが存在する。 ガーベジコレクトはアプリケーションの処理を中断させるため、頻繁に発生するとボトルネックとなってしまう(メモリ容量が大きいとさらに顕著である)。この問題に対しては、同一マシン内でJVMを分散させ、1つのJVMプロセスに割り当てられるメモリ容量を縮小することで解消をはかる。また、パラレルGCを使用してガーベジコレクトを効率化する。 2つめの問題はレプリケーションに関する問題である。JBoss Seamでは、「コンテキスト」に基づいたセッションオブジェクトが生成やタイムアウトのタイミングでレプリケーションされるが、フェイルオーバーするノードが多いだけオーバヘッドが発生する(そのため上記の問題とのトレードオフも発生する)。この問題に対しては、JBoss Cacheの新しい機能であるバディキャッシュを利用することにより解消が可能である。 JBoss(Application Server)の従来のクラスタリング環境では、一般的にクラスタ内のすべてのノードに対してレプリケーションが行われていた。これでは、ノードの数が増加するに従ってパフォーマンスが劣化してしまう。これに対して、JBoss Seamアプリケーションではノードの「バディ」を構成することによって(レプリケーション先を限定することによって)パフォーマンスを維持することができる。 |
||||||||
|
1 2 3 次のページ |
||||||||
|
|
||||||||
|
|
||||||||
|
||||||||
|
|
||||||||
|
||||||||




