ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. Oracle
  4. ソリューション
  5. GRID Center
  6. Active GridLink for RAC 検証報告
ここから本文です。

Oracle - Active GridLink for RAC 検証報告

Oracle WebLogic Serverに含まれるActive GridLink for RAC を活用することで、Oracle Database Real Application Clusters と高度に連携させることができます。

Active GridLink for RAC とは

NECが詳細な機能/性能検証を実施!

今回、Active GridLink for RAC の代表的な機能である、高速接続フェイルオーバー、動的ロードバランシング、アフィニティ機能の効果(有効性)について検証を実施しました。本検証では、Active GridLink for RACを導入することで、高パフォーマンス、高運用性、高可用性を実現するミッションクリティカル環境を複雑なチューニングを行わずに構築できることを確認しました。

検証概要

本検証では、Oracle RACへの接続ソリューションとして提供されている「GridLinkデータソース」の以下機能の動作と効果について検証を実施しました。

  • ランタイム接続ロードバランシング(RunTime Connection Load Balancing; RCLB)
  • Webセッション・アフィニティ
  • 高速接続フェイルオーバー(Fast Connection Failover; FCF)
  • 動的なOracle RAC ノード追加によるパフォーマンス改善

検証環境

WebLogic12cをインストールしたAPサーバを2台、Database11gをインストールしたDBサーバを4台使用したRAC構成となっています。

検証環境

各マシンは全て同一のスペックで、NECのIAサーバであるExpress5800、ストレージはNEC製のiStorageを使用しています。

ランタイム接続ロードバランシング(RCLB)

RCLBは、Oracle RAC各ノードの負荷状況から最適な接続先を決定する機能です。これにより、負荷が高いノードへの集中アクセスを回避させることが可能です。

検証内容

4ノードOracle RAC構成のDBサーバに対して、WebLogicから均等の負荷をかけている状態で、ある1ノードに対して負荷を加えていきます。

ランタイム接続ロードバランシング

グラフの縦軸は、WebLogicがどのOracle RACノードに何%の割合で接続を振り分けるかという値(CurrentWeight)になります。①均等に負荷がかかっている状態では、各ノードとも同じ割合(25%)で推移していましたが、②負荷が高くなるにつれてCurrentWeightの値も変化します。負荷が上昇したノードは値が下がり(25%→5%)、それ以外のノードは値が上がっていることが確認できました(25%→32%)。

ランタイム接続ロードバランシング

レスポンスタイムがどのように変化したかを測定したグラフです。DB02ノードに負荷をかけた直後はパフォーマンスが悪化していますが、時間が経過することで平準化していくことが確認できました。

RCLBを使用することで、高負荷ノードへの振り分けを抑えて低負荷なノードに多く振り分けを行うことでシステム全体のパフォーマンスが向上することが実証されました。

Webセッション・アフィニティ

Webセッション・アフィニティ利用することで、セッションごとに接続先のOracle RACノードを固定させることができます。これにより、ノード間のキャッシュ・フュージョンの発生を抑制することが可能になり、大幅な性能向上を実現できます。

検証内容

アフィニティ機能を使用した場合と使用してない場合における、レスポンスタイム、および、Oracle RACノード間での通信量を比較しました。

Webセッション・アフィニティ

Webセッション・アフィニティを使用しないと、同じHTTPセッションでも別々のOracle RACノードに対してリクエストが送信される可能性があります。そのため、キャッシュ・フュージョンによるOracle RACノード間でのデータブロック転送が多発してしまい、レスポンスタイムが悪化していました。   

Webセッション・アフィニティを使用することで、レスポンスタイムは約半分、インターコネクト通信量においては劇的に削減できることを実証しました。

高速接続フェイルオーバー(FCF)

FCFは、Oracle RAC側の障害を素早く検知し、正常なノードへの接続切替えを高速に行う機能です。従来、TCPタイムアウトでしか検出できなかった障害などの影響を最小限に抑えることが可能になります。

検証内容

以下の障害を擬似的に発生させ、WebLogic側のアプリケーションが検知するまでの時間がどの程度短縮されるかを確認しました。

  1. RACインスタンスダウン
  2. RACインスタンスストール
  3. RACインスタンス間のネットワーク障害
  4. WLSと1RACインスタンス間のネットワーク障害
  5. WLSと全RACインスタンス間のネットワーク障害

高速接続フェイルオーバー

検証結果として、以下の表に、障害の種類と、各障害でRead待ちのリクエストが停止していた時間を示しています。

障害の種類 従来構成 FCF構成 効果
1 即時 即時
2 6分20秒 6分10秒
3 TCPタイムアウト 15秒
4 5分 33秒
5 TCPタイムアウト TCPタイムアウト

Oracle RACインスタンス間のネットワーク障害と、WebLogicとOracle RACインスタンス間のネットワーク障害に関しては、FCFによってアプリケーションの停止時間を短縮させることが確認できました。

FCFでは、Oracle RAC側で障害を検知してからWebLogic(アプリケーション)に対して通知を行うため、各Oracle RACインスタンスで検出に時間がかかるストール障害などについてはFCFの導入効果はありません。

プロセスストール障害に対しては、クラスタリングソフトウェア製品であるCLUSTERPRO MC ApplicationMonitor で早期対応することが可能です。
NEC CLUSTERPRO MC ApplicationMonitor を用いたプロセスストール対策

動的なOracle RACノード追加による性能改善

FCFには障害検知だけでなく、Oracle RACの構成変更の通知という機能もあり、稼働中のシステムに対し動的にOracle RACノードを追加・削除することが可能です。Oracle RACは構成変更時にFCFによる通知を行い、WebLogicがOracle RACの構成変更を認識できます。これによりWebLogicからOracle RACノードへの接続を、自動的に追加・削除できるようになります。
本検証では、CPUが高負荷になっているシステムに対し、動的にOracle RACノードを追加してリソースを増強し、性能が改善することを確認します。

検証内容

3ノードのOracle RACノード構成に対して均等の負荷をかけている状態で、新たに4台目のノードを動的追加します。

動的なOracle  RACノード追加による性能改善

追加前後でのレスポンスタイム、CPU使用率、各Oracle RACノードへの振り分けの割合、について測定しました。

動的なOracle  RACノード追加による性能改善

FCFにより、新しくOracle RACノードを追加した場合もWebLogic側で変更通知を受け取ることができ、RCLBと組み合わせることで、最適なバランシングができていることが確認できました。


本検証で使用した代表的な機能は以下の通りです。

Oracle Real Application Clusters(RAC)

Oracle RACとは、データベースを複数のサーバーで構成するクラスタリング機能です。Oracle RACを構成するサーバーは全て稼動し、どのサーバーからでも同一データにアクセスできます。サーバーノード追加ではCPUリソースを追加することが容易に実現可能で、さらに並列度を自動で増加させることにより、データの処理性能の向上が図れます。なお、並列処理の分割はOracle内部で行われるため、ユーザが意識する必要はありません。

Active GridLink for RAC

WebLogic Server とOracle RACを高度に連携させる機能です。RACの負荷状況にあわせた接続や既存セッションの有効活用による性能改善や、WebLogic-Oracle RAC間での障害に対して早期に対応することが可能になります。既存システムに対して大きな変更やアプリケーション改造はほとんどなく、容易に導入することができます。

システム仕様

サーバ:Express5800/B120a-d
CPU インテル®Xeon® プロセッサ
X5550(2.66GHz) [コア数:4]× 2
Memory 48GB
OS Red Hat Enterprise Linux 5 Update7 x86-64
ストレージ:iStorage D3-10(FC):1台
Hard Disk Drive SAS 300GB(15000rpm)× 36
(本体 + ディスクエンクロージャ× 2の総数)
Cache Memory 4GB
Host interface Fibre Channel 4Gbps × 4

各マシンにインストール、使用した製品の詳細バージョンは以下となります。

アプリケーション・サーバ: 2台
Oracle WebLogic Server Oracle WebLogic Server 12c (12.1.1.0)
Oracle JRockit Oracle JRockit R28.2.5 for Java version 6
データベース・サーバ: 4台
Oracle Database Oracle Database 11g Release 2 Enterprise Edition (11.2.0.3)
Oracle Grid
Infrastructure
Oracle Database 11g Release 2 Grid Infrastructure (11.2.0.3)
Oracle Real Application Clusters
Oracle Diagnostics Pack

Oracle

NECのOracleサポートセンター
NEC Oracle Response Center

AIやIoTで将来を予測し
確かな意思決定へ
NEC Big Data Solutions
ビッグデータサイトへ

ページの先頭へ戻る

Top of this page