Jump to content 日本-日本語

製品 >  ソフトウェア >  HP- UX Developer Edge 

J2EEサーバ、スケーラビリティと可用性の「現実」

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
J2EEサーバ、スケーラビリティと可用性の「現実」

レプリケーションは諸刃の剣

J2EEサーバ、スケーラビリティと可用性の「現実」
スケーラビリティと可用性
レプリケーションは諸刃の剣
レプリケーション専用LANの効果

以上のようなメリットから、J2EEサーバによるクラスタリングでは、ステートフルな設計を採用する事例が多い。だがその場合は、レプリケーションがもたらすスケーラビリティへの影響を十分に把握しておかなくてはならない。
上述したとおり、可用性を確保するためのレプリケーションでは、クラスタ内のJ2EEサーバ間でセッション情報のコピーを実施する。問題は、セッション情報の内容が変化するたびにコピーが必要になることだ。つまり、クラスタ内のノード数やリクエスト数が増加すると、非常に多数のネットワーク間通信が発生してしまう。実際、ある大手のネット証券では、J2EEサーバ間のセッション・レプリケーションのネットワーク負荷によって、サイト全体のダウンを招いた事例さえある。

OASのスケーラビリティを実地検証する


  渡守武 祐樹
  日本ヒューレット・パッカード
テクニカルシステム統括本部
渡守武 祐樹
 
日本ヒューレット・パッカードと日本オラクルが共同で運営する、ミッション・クリティカル環境構築のための検証センター「MC3(Mission Critical Certified Center)」では、この問題の実態を明らかにするためのテストが実施された。このテストでは、OASとHP 9000サーバによるクラスタ環境を構築し、様々な負荷を与えた場合のスケーラビリティ変化が計測された。その結果は、2月17日に日本オラクル本社内で開催されたMC3テクニカルセミナーにおいて、日本ヒューレット・パッカードの渡守武祐樹氏によって発表されている。そこで以下、このテストの概要を紹介し、レプリケーションはスケーラビリティに実際どのような影響を与えるのかを検証したい。
このテストでは、図2に示す検証環境が用意された。テスト用クライアントとしてはWindows PCを使用し、マイクロソフトが無償提供する負荷生成ツール「Web Application Stress Tool(WAS)」を動作させた。また、ロードバランサーとしてHP 9000 rp2400シリーズを置き、生成された負荷をOAS各ノードに分散させる。テスト対象となるHP 9000 rp8400は、4つの仮想ノードに分割し、それぞれにOASインスタンス(OHSとOC4Jのペア)を稼働させる構成だ。なお、これらの各マシン間は、ギガビット・イーサネットにより接続されている。また、テストにおいて計測する項目は、WASで計測されるリクエスト処理数とレスポンス時間、そしてHP 9000 rp8400で計測されるCPU使用率とメモリ使用率、NICデータ量、ディスクI/Oである。
テスト用のWebアプリケーションとしては、テスト用の文字列をセッション情報として保持するという簡単なコードが用意された。このWebアプリケーションでは、CPUにかける負荷の大きさ、文字列の長さ、文字列の更新回数をそれぞれHTTPパラメータで指定することができる。文字列の更新回数と長さを調整すれば、レプリケーションによって発生するトラフィック量もそれに応じて変化する仕組みだ。
 このWebアプリケーションを使用し、表1に示す4パターンのテストが実施された。パターンA〜Cでは、HttpSessionオブジェクトを用いて文字列を保持し、またレプリケーション時のトラフィック量を様々に変化させる。一方、パターンDは、SessionBeanを利用して文字列を保持するテストである。
 
図2:検証環境
図2:検証環境
 
PCクライアント
  • CPU: PentiumIII
  • Memory: 512MB

  • OS:
    Microsoft Windows2000
  • Client Emulator:
    Microsoft
    Web Application Stress
    Tool
  • HP 9000
    rp2600 シリーズ
  • CPU: PA-RISC 500MHz x 1
  • Memory: 6GB

  • OS: HP-UX 11i
  • Load Balancer:
    Web Cache 9.0.3
    (ロードバランサーとしてのみ使用)
  • HP 9000
    rp8400
  • CPU: PA-RISC 875MHz x 1〜4
  • Memory: 6GB

  • OS: HP-UX 11i
  • HTTP Server: Oracle HTTP Server
  • Application Server: OC4J 9.0.3(J2EE&Web Cache)
  •  
    表1:テストパターン1
     

    セッション保持

    CPU負荷

    文字列の更新回数

    文字列長さ(KB)

    パターンA HttpSession 15 64
    パターンB HttpSession 10 64
    パターンC HttpSession 5 64
    パターンD SessionBean 5 64

    スケーラビリティが頭打ちに


    では、テスト結果を見てみよう。図3は、ノード数を1〜4台に変化させた場合の、4パターンそれぞれのスループット(単位時間あたりのリクエスト処理数)を示した図である。この結果が示すとおり、レプリケーション回数の少ないパターンCでは、ノード数とスループットがリニアに比例する良好なスケーラビリティが得られている。その一方で、レプリケーションの多発するパターンAおよびBでは、3ノード以降のスループットが頭打ちになっていることが分かる。
    つづいて、サーバ内部とネットワーク上で実際に何が起きているかを把握するため、ネットワーク使用量とCPU使用率に注目する。図4を見ると、パターンCではノード数に比例してネットワーク使用量も増加している。また、CPU使用率もつねに90%を維持しており、CPUの増設によってパフォーマンスを改善できることを示している。これに対し、パターンAおよびBではネットワーク使用量が飽和状態に陥り、CPU使用率に余裕が生じている。つまり、ネットワークI/Oがボトルネックとなっているため、CPU増設によるスケールアウトが不可能な状態なのである。
     
    図3
    図3
     
    図4
    図4
    トップへ 前のページへ 次のページへ

    本ページの内容は執筆時の情報に基づいており、異なる場合があります。

    お問い合わせ

    ご購入前のお問い合わせ


    ご購入後のお問い合わせ

    HPEサポートセンター
    製品の標準保証でご利用いただける無償のサービスです。

    ショールーム

    ショールーム 導入をご検討のお客様へ
    業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
    印刷用画面へ
    プライバシー ご利用条件・免責事項