Oracleホワイト ペーパー 2011 年 2 月 Facebook 時 代 のOracle Internet Directory 11gとOracle Exadata Database Machine
免 責 事 項 以 下 の 事 項 は 弊 社 の 一 般 的 な 製 品 の 方 向 性 に 関 する 概 要 を 説 明 するものです また 情 報 提 供 を 唯 一 の 目 的 とするものであり いかなる 契 約 にも 組 み 込 むことはできません マテリアルやコード 機 能 を 提 供 することをコミットメント( 確 約 )するものではないため 購 買 決 定 を 行 う 際 の 判 断 材 料 になさら ないで 下 さい オラクルの 製 品 に 関 して 記 載 されている 機 能 の 開 発 リリース および 時 期 については 弊 社 の 裁 量 により 決 定 されます
はじめに... 4 Oracle Internet Directoryの 詳 細 情 報... 5 Oracle Exadata Database Machine X2-2の 概 要... 6 ベンチマークの 配 置 アーキテクチャ... 7 分 散 アーキテクチャ... 7 データベースのチューニング... 8 OIDのチューニング... 8 データの 特 性... 9 ワークロード シナリオ... 10 テスト シナリオ... 10 順 次 のLDAP 検 索 処 理 テスト... 10 ランダムのLDAP 検 索 処 理 テスト... 11 順 次 のLDAP 認 証 処 理 テスト... 11 ランダムのLDAP 認 証 処 理 テスト... 11 順 次 のLDAP 比 較 処 理 テスト... 11 ランダムのLDAP 比 較 処 理 テスト... 12 LDAPグループ 検 索 処 理 テスト... 12 LDAPグループ 変 更 処 理 テスト... 12 順 次 のLDAP 変 更 処 理 テスト... 13 ランダムのLDAP 変 更 処 理 テスト... 13 LDAP 追 加 ロード テスト... 13 LDAP 複 合 ロード テスト... 13 ベンチマーク 結 果... 14 結 果 の 分 析... 16 キャッシュ... 16 データのパーティション 化... 16 大 きなエントリ サイズ... 16
大 きなグループ サイズ... 16 待 機 時 間... 17 同 時 実 行 性... 17 ネットワーク 接 続... 17 均 一 なパフォーマンスの 維 持... 17 結 論... 18 付 録 A:SLAMDパフォーマンス グラフ( 部 分 的 なワークロード)... 19 付 録 B:SLAMDパフォーマンス グラフ( 完 全 なワークロード)... 21 付 録 C:テンプレートのLDAPユーザー エントリ... 24 付 録 D: 追 加 情 報... 25
図 およびグラフの 目 次 : 図 1:Oracle Internet Directoryの 一 般 的 なノード アーキテクチャ... 5 図 2:Oracle Internet Directoryの 分 散 配 置 アーキテクチャ... 7 図 3:ランダム 検 索 (1,000 万 エントリ)... 19 図 4: 順 次 検 索 (1,000 万 エントリ)... 19 図 5: 待 機 時 間 の 短 いランダム 認 証 (1,000 万 エントリ)... 19 図 6: 順 次 認 証 (1,000 万 エントリ)... 19 図 7:ランダム 認 証 (1,000 万 エントリ)... 19 図 8: 待 機 時 間 の 短 いランダム 検 索 (1,000 万 エントリ)... 19 図 9:ランダム 比 較 (1,000 万 エントリ)... 20 図 10: 順 次 比 較 (1,000 万 エントリ)... 20 図 11: 待 機 時 間 の 短 いランダム 比 較 (1,000 万 エントリ)... 20 図 12:ランダム 検 索 (5 億 エントリ)... 21 図 13: 順 次 検 索 (5 億 エントリ)... 21 図 14: 待 機 時 間 の 短 いランダム 検 索 (5 億 エントリ)... 21 図 15: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 6 万 4,000の 同 時 クライアント)... 21 図 16: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 10 万 の 同 時 クライアント)... 21 図 17: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 3 万 2,000の 同 時 クライアント)... 21 図 18: 順 次 認 証 (5 億 エントリ)... 22 図 19:ランダム 認 証 (5 億 エントリ)... 22 図 20:ランダム 比 較 (5 億 エントリ)... 22 図 21: 待 機 時 間 の 短 いランダム 比 較 (5 億 エントリ)... 22 図 22: 順 次 比 較 (5 億 エントリ)... 22 図 23: 待 機 時 間 の 短 いランダム 認 証 (5 億 エントリ)... 22 図 24:ランダム 複 合 ロード(5 億 エントリ)... 23 図 25:ランダム グループ 検 索 (5 億 エントリ)... 23 1
はじめに ソーシャル メディア サービスの 急 速 な 成 長 や Facebookユーザー 数 が5 億 の 大 台 を 突 破 したという 最 近 の 発 表 もあって 最 新 のOracle Exadata Database Machineを 使 用 したOracle Internet Directory 11gのベンチマー ク テストを 実 施 する 機 会 が 訪 れました ここでの 目 的 は 以 前 に 実 施 した20 億 ユーザーのベンチマーク 1 の 結 果 を 再 検 討 し ハードウェアとソフトウェアを 改 善 することで5 億 ユーザーのディレクトリにどのようなパ フォーマンスの 影 響 があるかを 測 定 することにあります またもう1つの 目 的 は Oracle Internet Directoryと Oracle Exadataの 強 力 な 組 合 せが 大 規 模 ユーザーによって 生 じる 課 題 を 解 決 するインフラストラクチャ バッ クボーンとなることを 実 証 することです 通 信 インターネット サービス プロバイダ ソーシャル メディア サービスといった 領 域 では 増 え 続 けるユーザーに 日 々 対 応 しています これらのユーザーは 次 の 目 的 でシステムに 同 時 にアクセスしています - サービス 利 用 の 登 録 もしくは 更 新 またはユーザー プロファイルの 更 新 - モバイル アプリケーションやサービスの 購 入 - 情 報 検 索 このディレクトリは 次 の 処 理 を 実 行 するためのホット スポットにあります - 発 信 者 が 電 話 をかけた 時 点 で'コール パス'に 含 まれる 発 信 者 を 特 定 して 認 可 し 特 定 のサービス (マルチメディア メッセージの 送 信 など)にアクセスできることを 確 認 します - 数 百 万 のユーザーを 含 む 大 規 模 なグループ メンバーシップを 管 理 し 検 索 追 加 削 除 処 理 を 必 要 とします 信 頼 性 とスケーラビリティに 優 れた 中 断 のない 高 速 な 認 証 および 認 可 サービスを 提 供 することが これらの ニーズに 対 応 するためのビジネス 上 不 可 欠 な 要 件 になります また これらのサービスは 容 易 に 管 理 できると ともに 既 存 のインフラストラクチャに 統 合 できなければなりません 本 書 では Oracle Internet DirectoryとOracle Exadata Database Machineからなる 類 まれなアーキテクチャが 上 述 の 課 題 に 対 応 したソリューションを 提 供 する"Hardware and Software, Engineered to work together(ハー ドウェアとソフトウェアの 連 携 性 を 重 視 した 設 計 )"という 戦 略 のもう1つの 証 拠 であることを 説 明 します 詳 細 に 進 む 前 に 5 億 ユーザーのディレクトリ ベンチマークで 得 られたおもな 結 果 を 次 に 示 します 433,684 件 / 秒 の 検 索 処 理 1,000 万 メンバーのグループに 対 する314,861 件 / 秒 のグループ 検 索 処 理 スループットの 低 下 なしで10 万 の 同 時 クライアントを 処 理 1 詳 細 は 付 録 Dを 参 照 4
Oracle Internet Directoryの 詳 細 情 報 Oracle Internet Directory(OID)というディレクトリが 基 盤 となるサーバー ハードウェアをフルに 活 用 して 任 意 のハードウェアを 拡 張 すると 同 時 に 高 可 用 性 を 実 現 できるように 独 自 のアーキテクチャ を 実 装 しています このアーキテクチャには 次 のような 利 点 があります データベース 接 続 プーリングを 使 用 したマルチスレッドのサーバー プロセスによって 各 サーバー プロセスがデータベースへの 同 時 アクセスを 開 始 かつ 維 持 すると 同 時 に システ ム リソースを 最 小 化 することができるようになります マルチプロセッシングによって 現 行 の 複 数 のCPUが 使 用 されます マルチプロセッシングは 効 率 的 なメモリ アクセスが 実 現 されるNUMAに 対 応 しています 複 数 のディレクトリ サーバー インスタンスが 複 数 のハードウェア ノードとリスニング エンド ポイントを 使 用 することで それぞれ 専 用 のLDAPエンド ポイントに 対 してアプリ ケーション トラフィックを 分 離 しながら 高 い 同 時 実 行 性 を 実 現 します SMPアーキテクチャを 使 用 してCPU 数 を 増 やすことでOIDを 拡 張 することができます ハードウェア クラスタ アーキテクチャを 使 用 してノード 数 を 増 やすことで OIDを 拡 張 す ることができます 水 平 方 向 の 拡 張 において レプリケーションやパーティション 化 の 必 要 はありません 図 1:Oracle Internet Directoryの 一 般 的 なノード アーキテクチャ 典 型 的 な 配 置 では 通 常 1つまたは 複 数 のOIDサーバーとOIDレプリケーション サーバーが データ ベース インスタンスと 同 じ 物 理 ホスト 上 に 配 置 されます このベンチマークでは OIDの 柔 軟 な 配 置 オプションを 利 用 しました Oracle Exadata Database Machineを 使 用 して 最 大 のパフォーマンスを 達 成 するために OIDサーバーを 専 用 ホスト( 図 2を 参 照 )に 配 置 して ホスト リソースを 最 大 化 し レプリケーションなしで 高 可 用 性 を 実 現 しました 5
Oracleの 高 可 用 性 オプションについて 詳 しくは Oracle Fusion Middleware 高 可 用 性 ガイド と Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management を 参 照 してください いず れのガイドも 推 奨 される 配 置 アーキテクチャに 関 する 説 明 が 記 載 されており エンタープライズ 配 置 のブループリントとして 使 用 できます Oracle Exadata Database Machine X2-2の 概 要 ベンチマーク 期 間 がわずか10 日 間 と 限 られる 中 で 過 去 のベンチマークから データ ロードを 開 始 す る 前 に 多 大 な 時 間 をかけてハードウェア 構 成 とデータベース チューニングを 行 う 必 要 があることが 分 かりました この 作 業 は オペレーティング システムのチューニングからソリッド ステート ディスクを 使 用 したデータベース ストレージの 構 成 まで 多 岐 にわたります Oracle Exadata 2 Database MachineとOracle Exadata Storage Serverを 組 み 合 わせて 使 用 すると 単 独 の 専 用 システムが 統 合 プラットフォームに 置 き 換 えられ 優 れたパフォーマンスとスケーラビリティがすべて のデータベース アプリケーションに 提 供 されるため これらの 作 業 を 実 施 する 必 要 がなくなります Oracle Exadata Database Machineは スキャン 集 中 型 のデータウェアハウス アプリケーションから 同 時 実 行 性 の 高 いOLTPアプリケーションに 至 るまで あらゆるデータベース ワークロードに 対 して 最 適 な ソリューションを 提 供 します 高 性 能 なOracle Exadata Storage Server Softwareに 包 括 的 でインテリジェ ントなOracle DatabaseソフトウェアとSunによる 業 界 標 準 の 最 新 ハードウェア コンポーネントを 組 み 合 わせることにより このDatabase Machineは 非 常 にセキュアな 高 可 用 性 環 境 に 卓 越 したパフォーマンス をもたらします また オラクル 独 自 のクラスタリングおよびワークロード 管 理 機 能 が 備 わっているため 複 数 のデータ ベースから 単 一 グリッドへの 統 合 にも 適 しています Sun Oracle Database Machineは 事 前 に 構 成 および 最 適 化 が 施 されたソフトウェア サーバー ストレージの 完 全 なパッケージであるため 素 早 く 簡 単 に 実 装 できるとともに 大 規 模 なビジネス アプリケーションにもすぐに 対 応 できます Database Machineでは Oracleデータベース 向 けに 高 度 に 最 適 化 されたOracle Exadata Storage Serverが 使 用 されています Exadataは 超 並 列 アーキテクチャを 活 用 して Oracle Database 11gの 配 置 に 動 的 なストレー ジ グリッドを 利 用 できるようにすることで データウェアハウス アプリケーションのI/O 処 理 とSQL 処 理 に 卓 越 したパフォーマンスをもたらします Exadataは Oracleデータベースを 格 納 するためのハードウェアと Oracle Databaseにアクセスするための ソフトウェアを 組 み 合 わせた 製 品 です この 製 品 は データベース サーバーからストレージへデータ ベース 処 理 をオフロードする 機 能 をはじめとした データベース 認 識 型 のストレージ サービスを 提 供 し ます また SQL 処 理 やデータベース アプリケーションに 対 して 透 過 的 にこのサービスを 提 供 します Exadataストレージは 使 用 と 管 理 が 簡 単 で 無 制 限 のI/Oスケーラビリティによりパフォーマンスが 飛 躍 的 に 向 上 します また Oracle Internet Directoryと 企 業 に 対 して ミッション クリティカルな 可 用 性 と 信 頼 性 を 提 供 します 2 技 術 的 な 詳 細 は 付 録 Dを 参 照 6
ベンチマークの 配 置 アーキテクチャ 分 散 アーキテクチャ Oracle Internet Directoryの 概 要 の 項 で 説 明 したとおり ベンチマークでは 分 散 アーキテクチャが 使 用 され ました 図 2:Oracle Internet Directoryの 分 散 配 置 アーキテクチャ ベンチマークを 実 行 するにあたり SLAMDの 分 散 型 負 荷 生 成 エンジンが 使 用 されました SLAMDクラ イアントは4 台 のSun Fire X4470に 分 散 されており SLAMDサーバーに 接 続 されています そのSLAMDサー バーの 負 荷 は 2 台 のSun Fire X4470に 配 置 された2つのOracle Internet Directoryサーバーに 分 散 されていま す ハーフ ラック 構 成 のOracle Exadata Database Machine X2-2は バックエンド サーバーとして 動 作 しています すべてのシステムが 10ギガビットのネットワークを 介 して 接 続 されています OIDの 特 徴 の1つは 単 一 のディレクトリ 情 報 ツリー(DIT)を 使 用 する 点 です データ 量 に 合 わせて 拡 張 する 際 パーティション 化 の 必 要 はありません OIDサーバー ノードを 必 要 に 応 じて 追 加 して 水 平 方 向 に 拡 張 するか またはExadata Database MachineおよびExadata Storage Serverを 追 加 してデータ 量 の 増 加 に 対 応 します 7
データベースのチューニング 標 準 構 成 に 対 して 次 の 変 更 が 行 われました パラメータ 値 説 明 SGA_MAX_SIZE 48GB 設 定 可 能 な 上 限 値 sga_target_sizeにより システム グローバル 領 域 (SGA)を 動 的 に 調 整 できます SGA_TARGET 48GB システム グローバル 領 域 のターゲッ ト サイズ PGA_AGGREGATE_TARGET 2GB プログラム グローバル 領 域 のターゲッ ト サイズ audit_trail なし データベース 監 査 の 設 定 processes 2000 データベース プロセスの 数 db_file_multiblock_read_count 16 順 次 スキャン 中 に1 回 のI/O 処 理 で 読 み 取 るブロック 数 open_cursors 1000 1つのデータベース セッションが 維 持 で きる 最 大 カーソル 数 OIDのチューニング このベンチマークでは 標 準 のOID 構 成 が 使 用 されています つまり デフォルトのアクセス 制 御 ポリ シーとパスワード ポリシーのすべてが 効 果 的 に 機 能 したことになります ただし 既 存 のハードウェ ア リソースを 最 大 活 用 するために 最 小 限 のチューニングである 次 のOID 構 成 パラメータを 変 更 し ました パラメータ 値 説 明 Orclserverprocs 32 CPUコア 当 たり1つのサーバー プロセス システ ム 上 のコア 数 は32であるため 1コア 当 たり1つの プロセスが 割 り 当 てられました Orclmaxcc 4 サーバー プロセス 当 たりのワーカー スレッド 数 これは このハードウェアに 最 適 な 設 定 値 で す Orclgeneratechangelog 0 レプリケーションは 構 成 されていないため 変 更 ログの 生 成 は 無 効 化 されました これは 変 更 テ ストと 追 加 テストに 対 してのみ 影 響 します Orclskiprefinsql 1 このテストでは 参 照 エントリが 存 在 しないため 有 効 なSQLでの 参 照 処 理 は 省 略 されました 8
Orclmatchdnenabled 0 一 致 DNの 有 効 化 これによる 検 索 への 影 響 はあり ません データの 特 性 LDAP 付 録 Cに 示 したSLAMD makeldifテンプレートを 使 用 して 5 億 個 のLDAPユーザー エントリを 生 成 し これらには 次 のプロパティを 設 定 しました 26 個 の 属 性 ( 生 成 されたオペレーショナル 属 性 は7 個 ) そのうちの1 個 は 長 さ2KBのバイナリ 属 性 残 りの 属 性 を 合 計 した 長 さは0.8KB 合 計 のエントリ サイズは2.8KB 以 下 は ユーザー エントリにバイナリ 情 報 ( 写 真 または 証 明 書 などの 暗 号 化 識 別 子 )が 含 まれる 場 合 など 現 実 的 な 配 置 を 考 慮 して 選 択 されたプロパティです 追 加 で50 個 のグループ エントリを 作 成 し 次 のプロパティを 設 定 しました 各 グループには1,000 万 メンバーを 含 む 各 ユーザーは1つのグループに 属 している 各 グループ エントリのサイズは450MB これらのプロパティは この 規 模 での 配 置 における 現 実 的 なグループ 化 要 件 を 考 慮 して 選 択 されています 注 :このワークロード シナリオへの 対 応 に 際 して データのパーティション 化 は 必 要 ありません 9
データベース データベースにおけるこのデータの 特 徴 は 次 のとおりです 表 領 域 名 サイズ(GB) OLTS_ATTRSTORE 1032 OLTS_CT_STORE 890 OLTS_BATTRSTORE 1436 SYSAUX 1.3 OLTS_DEFAULT 0.001 OLTS_SVRMGSTORE 0.0002 ワークロード シナリオ 次 の2つの 配 置 ワークロード シナリオに 対 するテストが 実 施 されました 部 分 的 なロードでの5 億 ユーザーの 配 置 このシナリオでは 所 定 の 時 間 において 一 部 のユーザーのみがアクティブの 場 合 の 大 規 模 な 配 置 ケースを 検 証 します ベンチマークの 目 的 上 使 用 される 一 部 のユーザーは 最 初 の1,000 万 ユーザーとするよう 規 定 されました したがって このシナリオのベンチマーク テストでは 配 置 された 合 計 5 億 のユーザーのうち1,000 万 ユーザーが 対 象 です 完 全 なロードでの5 億 ユーザーの 配 置 このシナリオでは 所 定 の 時 間 において すべてのユーザーがアクティブの 場 合 の 大 規 模 な 配 置 ケースを 検 証 します したがって このシナリオのベンチマーク テストでは 合 計 5 億 の 配 置 ユーザーすべてが 対 象 です テスト シナリオ 次 の 各 読 取 りテストが 上 述 のワークロード シナリオの 両 方 に 対 して 実 行 されました 順 次 のLDAP 検 索 処 理 テスト このテスト シナリオは 一 度 OIDにバインドされ その 後 LDAP 検 索 処 理 を 繰 り 返 し 実 行 する 同 時 クラ イアントで 構 成 されています このテスト シナリオのおもな 特 徴 は 次 のとおりです SLAMDの'SearchRate'ジョブが 使 用 されています 検 索 のBaseDNはDITのルート スコープはSUBTREE 検 索 フィルタは"UID=< 一 意 の 値 >" 形 式 DNは 必 須 の 戻 り 属 性 として 指 定 されています 各 LDAP 検 索 処 理 は 単 一 のエントリに 一 致 します 同 時 クライアントの 合 計 数 は3,200であり 4つのクライアント ノードに 分 散 されています 10
各 クライアントは 一 度 OIDにバインドされ その 後 LDAP 検 索 処 理 を 繰 り 返 し 実 行 します 各 検 索 処 理 は 同 じエントリが2 回 検 索 されたり 同 じ 検 索 が2つのクライアントによって 実 行 され たりしないように 一 意 のエントリを 参 照 します テスト ジョブの 実 行 時 間 は60 分 です ランダムのLDAP 検 索 処 理 テスト このテストは エントリがランダムに 検 索 された 点 を 除 いて 前 項 のテストと 同 じです また 待 機 時 間 の 短 いメトリックを 特 定 するため このテストは500の 同 時 クライアントを 使 用 して 両 方 のワークロー ド シナリオに 対 して 実 行 されました さらに 大 量 の 同 時 接 続 に 対 するOIDの 処 理 能 力 を 実 証 するため 3 万 2,000 6 万 4,000 10 万 という 同 時 クライアントを 使 用 して 完 全 なワークロードのシナリオでテスト が 実 行 されました 順 次 のLDAP 認 証 処 理 テスト このテスト シナリオは 一 度 OIDにバインドされ LDAP 比 較 処 理 を 繰 り 返 し 実 行 する 同 時 クライアン トで 構 成 されています このテスト シナリオのおもな 特 徴 は 次 のとおりです SLAMDの'AuthRate'ジョブが 使 用 されています 検 索 のBaseDNはユーザー コンテナのルート スコープはBASE 検 索 フィルタは"UID=< 一 意 の 値 >" 形 式 DNは 必 須 の 戻 り 属 性 として 指 定 されています 各 LDAP 検 索 処 理 は 単 一 エントリに 一 致 します すべてのエントリで 同 じuserpassword 値 が 使 用 されています 同 時 クライアントの 合 計 数 は3,200であり 4つのクライアント ノードに 分 散 されています 各 クライアントは 一 度 OIDにバインドされ その 後 LDAP 検 索 処 理 を 繰 り 返 し 実 行 します 各 検 索 処 理 は 同 じエントリが2 回 検 索 されたり 同 じ 検 索 が2つのクライアントによって 実 行 され たりしないように 一 意 のエントリを 参 照 します テスト ジョブの 実 行 時 間 は60 分 です ランダムのLDAP 認 証 処 理 テスト このテストは エントリがランダムに 検 索 された 点 を 除 いて 前 項 のテストと 同 じです また 待 機 時 間 の 短 いメトリックを 特 定 するため このテストは500の 同 時 クライアントを 使 用 して 両 方 のワークロー ド シナリオに 対 して 実 行 されました 順 次 のLDAP 比 較 処 理 テスト このテスト シナリオは LDAP 検 索 処 理 を 実 行 してユーザーを 探 し そのユーザー 対 してシンプルなバ インドを 実 行 して 資 格 証 明 を 検 証 するというシーケンスを 繰 り 返 し 実 行 するクライアントで 構 成 されてい ます このテスト シナリオのおもな 特 徴 は 次 のとおりです 11
SLAMDの'CompRate'ジョブが 使 用 されています それぞれのアサーションの 比 較 はuserpassword 属 性 に 対 して 実 行 されたため ハッシュ 比 較 とパ スワード 状 態 ポリシーの 実 施 に 追 加 のオーバーヘッドが 発 生 しました 同 時 クライアントの 合 計 数 は3,200であり 4つのクライアント ノードに 分 散 されています 各 クライアントはOIDに 一 度 バインドされ その 後 LDAP 比 較 処 理 を 繰 り 返 し 実 行 します 各 比 較 処 理 は 同 じエントリが2 回 検 索 されたり 同 じ 検 索 が2つのクライアントによって 実 行 され たりしないように 一 意 のエントリに 対 して 実 行 されました テスト ジョブの 実 行 時 間 は60 分 です ランダムのLDAP 比 較 処 理 テスト このテストは エントリがランダムに 検 索 された 点 を 除 いて 前 項 のテストと 同 じです また 待 機 時 間 の 短 いメトリックを 特 定 するため このテストは500の 同 時 クライアントを 使 用 して 両 方 のワークロー ド シナリオに 対 して 実 行 されました 大 規 模 グループに 関 して 実 行 されたテストは 次 のとおりです LDAPグループ 検 索 処 理 テスト このテスト シナリオは 一 度 OIDにバインドされ その 後 LDAP 検 索 処 理 を 繰 り 返 し 実 行 する 同 時 クラ イアントで 構 成 されています このテスト シナリオのおもな 特 徴 は 次 のとおりです SLAMDの'SearchRate'ジョブが 使 用 されています 同 時 クライアントの 合 計 数 は3,200であり 4つのクライアント ノードに 分 散 されています 各 クライアントは フィルタ メンバーに'RandomDN'が 指 定 されたサブツリー 検 索 を 実 行 します 各 検 索 によって1つのグループ エントリが 返 されます 必 須 属 性 はDNに 設 定 されています テスト ジョブの 実 行 時 間 は60 分 です 50 個 のグループ エントリすべてがランダムにヒットするように 検 索 が 実 行 されています LDAPグループ 変 更 処 理 テスト このテスト シナリオは 一 度 OIDにバインドされ その 後 LDAP 変 更 処 理 を 繰 り 返 し 実 行 する 同 時 クラ イアントで 構 成 されています このテスト シナリオのおもな 特 徴 は 次 のとおりです カスタムのJNDIスクリプトが 使 用 されています 合 計 10のLDAP 同 時 クライアントが 使 用 されています uniquemember 属 性 値 が 追 加 および 削 除 されています テスト ジョブの 実 行 時 間 は60 分 です 1,000 万 のメンバーを 持 つ 大 規 模 グループに 対 して 変 更 が 実 施 されました 12
また 次 の 書 込 みテストも 実 施 されました 順 次 のLDAP 変 更 処 理 テスト このテスト シナリオは 一 度 OIDにバインドされ その 後 LDAP 変 更 操 作 を 繰 り 返 し 実 行 する 同 時 クラ イアントで 構 成 されています このテスト シナリオのおもな 特 徴 は 次 のとおりです SLAMDの'LDAP ModRate'ジョブが 使 用 されています 合 計 200のLDAP 同 時 クライアントが 使 用 されています 各 クライアントは 毎 回 順 番 に 選 択 された 一 意 なエントリを 更 新 し 合 計 5,400 万 のエントリを 更 新 しました テスト ジョブの 実 行 時 間 は60 分 です 値 の 長 さは11に 設 定 されています 変 更 された 属 性 に 索 引 は 付 けられていません すべての 変 更 処 理 は 単 一 データベース インスタンスに 転 送 されています ランダムのLDAP 変 更 処 理 テスト このテスト シナリオは エントリがランダムに 検 索 され 4,300 万 エントリが 更 新 された 点 を 除 いて 前 項 のシナリオと 同 じです LDAP 追 加 ロード テスト このテスト シナリオは 新 規 エントリを 追 加 する 同 時 クライアントで 構 成 されています このテス ト シナリオは 次 のとおりです SLAMDの'LDAP Add Rate'ジョブが 使 用 されています 合 計 で50 万 エントリが 追 加 されています 合 計 500のLDAP 同 時 クライアントが 使 用 されています SLAMDによって 21 個 の 属 性 (オペレーショナル 属 性 を 含 む)を 持 つ'inetorgperson'オブジェク ト クラス エントリが 追 加 されています LDAP 複 合 ロード テスト このテスト シナリオは 複 合 LDAP 処 理 を 実 行 する 同 時 クライアントで 構 成 されています おもな 特 徴 は 次 のとおりです SLAMDの'LDAP Mixed Load'ジョブが 使 用 されています LDAPクライアント 処 理 の65%が 検 索 であり 16%がバインド 16%が 比 較 そして3%が 変 更 処 理 でした 13
同 時 LDAPクライアントの 合 計 数 は3,200であり 4つのクライアント ノードに 分 散 されています テスト ジョブの 実 行 時 間 は60 分 です ベンチマーク 結 果 部 分 的 なワークロード(5 億 エントリのうち 1,000 万 が 対 象 ) テスト シナリオ クライアント 数 スループット (ops/ 秒 ) 待 機 時 間 (ミリ 秒 ) 検 索 ( 順 次 ) 3,200 441,029 7.189 検 索 (ランダム) 3,200 441,058 7.188 - 短 い 待 機 時 間 500 336,506 1.481 認 証 ( 順 次 ) 3,200 163,157 19.557 認 証 (ランダム) 3,200 161,978 19.698 - 短 い 待 機 時 間 500 137,573 3.629 比 較 ( 順 次 ) 3,200 285,969 11.091 比 較 (ランダム) 3,200 286,087 11.088 - 短 い 待 機 時 間 500 246,316 2.026 14
完 全 なワークロード(5 億 エントリのうち 5 億 すべてが 対 象 ) テスト シナリオ クライアント 数 スループット (ops/ 秒 ) 待 機 時 間 (ミリ 秒 ) 検 索 ( 順 次 ) 3,200 433,686 7.313 検 索 (ランダム) 3,200 170,524 18.657 - 短 い 待 機 時 間 500 156,986 3.178 - 高 い 同 時 実 行 性 32,000 162,093 197.400 - 高 い 同 時 実 行 性 64,000 165,705 377.275 - 高 い 同 時 実 行 性 100,000 168,151 572.257 認 証 ( 順 次 ) 3,200 163,547 19.511 認 証 (ランダム) 3,200 58,117 55.033 - 短 い 待 機 時 間 500 47,625 10.492 比 較 ( 順 次 ) 3,200 285,837 11.092 比 較 (ランダム) 3,200 136,910 23.362 - 短 い 待 機 時 間 500 113,710 4.393 変 更 ( 順 次 ) 200 15,083 13.254 変 更 (ランダム) 200 12,059 16.579 複 合 ロード 3,200 90,170 35.478 グループ 検 索 3,200 314,861 10.073 グループ 変 更 10 3,540 2.000 追 加 (500K) 500 1,034 482.916 混 合 3,200 90,170 35.478 15
結 果 の 分 析 キャッシュ 部 分 的 なワークロードのシナリオでは OID 固 有 のエントリ キャッシュが 無 効 になっていても ユー ザー エントリのターゲット セット(1,000 万 )をSGAにキャッシュすることが 可 能 でした その 結 果 このワークロードで 実 行 されたテスト 運 用 の 大 部 分 は 非 常 に 高 い 率 のRDBMSのキャッシュ ヒットに より 効 果 が 得 られました 反 対 に 完 全 なワークロードのシナリオでは ユーザー エントリのターゲット セット(5 億 )を キャッシュすることは 不 可 能 でした またこのシナリオでは OID 固 有 のエントリ キャッシュは 明 示 的 に 無 効 化 されていました このため 連 続 したデータの 近 接 性 によってメリットが 得 られた 可 能 性 の ある 順 次 テスト 処 理 を 除 けば その 他 のテスト 処 理 ではキャッシュ ヒットによる 効 果 が 得 られた 可 能 性 は 低 いと 言 えます このことから OIDがデータ キャッシングに 依 存 せずに 優 れたパフォーマンスを 実 現 していることが 分 かります また ハードウェア リソースを 正 しく 組 み 合 わせることで ほとんどすべての 配 置 要 件 を 満 たすスケーラビリティが 発 揮 されます データのパーティション 化 ここでテストしたワークロード シナリオのいずれにも データのパーティション 化 は 含 まれていませ ん パフォーマンス 低 下 や 過 剰 なメモリ 使 用 を 発 生 させることなく 5 億 のユーザー エントリすべてが 1つのディレクトリ 情 報 ツリー(DIT)に 格 納 されました したがって パフォーマンスを 最 大 化 するた め 予 想 されるワークロードの 特 性 に 関 する 事 前 知 識 を 駆 使 してパーティション 化 を 実 行 する 必 要 はあ りませんでした また 時 とともにワークロード 特 性 が 変 化 した 場 合 も これに 対 応 するための 再 パー ティション 化 などのメンテナンスを 後 で 実 行 する 必 要 はありません これは 1つのDIT 内 ですべてのデータを 処 理 するOIDの 能 力 を 示 しており 管 理 者 はデータをロードで き またデータに 留 意 する 必 要 はなくなるため 管 理 作 業 のオーバーヘッドが 軽 減 されます 大 きなエントリ サイズ このベンチマークで 使 用 したユーザー エントリのサイズは2.8KBでした(2KBのバイナリ 属 性 を 含 む) しかし OIDのアーキテクチャでは 個 別 のエントリ 要 素 に 対 する 処 理 が 可 能 であるため パフォーマン スに 関 して 認 識 できるほどの 影 響 はありませんでした 大 きなグループ サイズ このテストでは 1,000 万 のメンバーを 持 つグループに 対 する 処 理 も 含 まれていました 総 合 的 に 考 える と 部 分 的 なワークロードのシナリオは このようなグループの1つに 含 まれるメンバーだけで 実 行 でき ます OIDは 高 いスループットで スムーズにこれらのメンバーのリクエストに 対 応 することができ ました 16
待 機 時 間 テストの 結 果 は 待 機 時 間 が 同 時 実 行 性 ( 同 時 クライアントの 数 )とともに 増 加 するという 直 感 的 な 概 念 を 裏 付 けるものでした OIDに 接 続 しているクライアントの 数 が 増 えるにつれ 使 用 されるリソース 数 とOIDサーバー 内 で 発 生 したコンテキスト スイッチ 数 も 増 加 します これによって 待 機 時 間 が 増 加 することは 明 らかです 待 機 時 間 を 短 縮 するためにOIDに 接 続 しているクライアントの 数 を 減 らすこともできますが このよう な 規 模 の 配 置 では 少 なくとも500の 同 時 クライアントを 見 込 む 必 要 があります 同 時 実 行 性 多 数 の 同 時 クライアントに 対 するOIDの 処 理 能 力 を 実 証 するため 完 全 なワークロード シナリオのラ ンダムLDAP 検 索 処 理 テストに3 万 2,000 6 万 4,000 10 万 というクライアントをそれぞれ 使 用 して 実 行 しま した 処 理 待 機 時 間 は 予 想 どおりに 増 加 しましたが スループットへの 影 響 はわずかなものでした ここで 特 筆 すべき 点 として さらに 多 数 の 同 時 クライアントを 使 用 したテストが 実 行 されなかった 理 由 は このように 多 数 のクライアントを 処 理 するとSLAMDの 負 荷 生 成 装 置 で 問 題 が 発 生 するためであり OIDがこのような 負 荷 に 対 応 できないためではありません たとえば 6 万 4,000と10 万 の 同 時 クライアン トに 対 するテストでは 生 成 されたレポートが 正 確 でないためにSLAMDによって 収 集 された 統 計 情 報 を 使 用 して 手 動 で 待 機 時 間 を 計 算 する 必 要 がありました ネットワーク 接 続 両 方 のシナリオにおいて ベンチマーク 配 置 トポロジに 含 まれる3 種 類 のノード(Exadataデータベース OID SLAMDクライアント)のいずれでもCPU 使 用 率 を 最 大 化 することはできず 使 用 率 はおよそ70% で 頭 打 ちになりました これは ネットワーク 能 力 にボトルネックがあったことを 意 味 します このベンチマーク テストでは SLAMDクライアントとOID 間 またOIDとExadataデータベース 間 の ネットワーク 接 続 で10ギガビット イーサネットが 使 用 されていました したがって より 最 新 の40ギ ガビット イーサネットや100ギガビット イーサネットを 利 用 したネットワーク 接 続 であった 場 合 は CPU 使 用 率 の 最 大 化 とより 高 いパフォーマンスが 実 現 されていたと 考 えられます 均 一 なパフォーマンスの 維 持 付 録 AおよびBに 示 したベンチマーク テストのパフォーマンス グラフから 明 らかであるとおり 各 テ ストの 最 初 から 最 後 までを 通 して OIDは 急 激 なパフォーマンスの 悪 化 はなく 均 一 なパフォーマン ス レベルの 維 持 に 成 功 しています これは OIDがサービスに 影 響 を 与 えることなく 長 期 間 にわたって 高 いパフォーマンスを 維 持 できる ことを 実 証 したものです 17
結 論 ITインフラストラクチャが 億 単 位 のユーザーにサービスを 提 供 することは ますます 一 般 的 になっていま す このような 大 規 模 配 置 に 付 随 する 課 題 に 対 応 するための スケーラブルで 強 力 な 高 可 用 性 ソリュー ションを 提 供 することは ビジネスにとって 重 要 な 優 先 課 題 です このホワイト ペーパーで 実 証 したとおり Oracle Internet Directoryの 類 まれなアーキテクチャは 利 用 できるハードウェアに 事 実 上 比 例 的 な 拡 張 を 実 現 します またOracle Exadata Database Machineも 同 様 の 特 性 を 持 つことから これら2つの 製 品 を 組 み 合 わせることで 時 代 に 左 右 されない 最 適 なディレクト リ ソリューションが 提 供 されます このことから 適 切 なハードウェアとネットワークの 構 成 があれば 1 秒 あたり100 万 件 を 上 回 る 要 件 に も 対 応 できるスケーラビリティが 問 題 なく 発 揮 されると 考 えられます 18
付 録 A:SLAMDパフォーマンス グラフ( 部 分 的 なワークロード) 図 4: 順 次 検 索 (1,000 万 エントリ) 図 3:ランダム 検 索 (1,000 万 エントリ) 図 8: 待 機 時 間 の 短 いランダム 検 索 (1,000 万 エントリ) 図 6: 順 次 認 証 (1,000 万 エントリ) 図 7:ランダム 認 証 (1,000 万 エントリ) 図 5: 待 機 時 間 の 短 いランダム 認 証 (1,000 万 エントリ) 19
図 10: 順 次 比 較 (1,000 万 エントリ) 図 9:ランダム 比 較 (1,000 万 エントリ) 図 11: 待 機 時 間 の 短 いランダム 比 較 (1,000 万 エントリ) 20
付 録 B:SLAMDパフォーマンス グラフ( 完 全 なワークロード) 図 13: 順 次 検 索 (5 億 エントリ) 図 12:ランダム 検 索 (5 億 エントリ) 図 14: 待 機 時 間 の 短 いランダム 検 索 (5 億 エントリ) 図 17: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 3 万 2,000の 同 時 クライアント) 図 15: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 6 万 4,000の 同 時 クライアント) 図 16: 同 時 実 行 性 の 高 いランダム 検 索 (5 億 エントリ 10 万 の 同 時 クライアント) 21
図 18: 順 次 認 証 (5 億 エントリ) 図 19:ランダム 認 証 (5 億 エントリ) 図 23: 待 機 時 間 の 短 いランダム 認 証 (5 億 エントリ) 図 22: 順 次 比 較 (5 億 エントリ) 図 20:ランダム 比 較 (5 億 エントリ) 図 21: 待 機 時 間 の 短 いランダム 比 較 (5 億 エントリ) 22
図 24:ランダム 複 合 ロード(5 億 エントリ) 図 25:ランダム グループ 検 索 (5 億 エントリ) 23
付 録 C:テンプレートのLDAPユーザー エントリ データ 生 成 に 使 用 されたSLAMDテンプレート ファイル define suffix=dc=com define NumUsers=500000000 branch: ou=oracle,[suffix] subordinatetemplate: Users:[NumUsers] template: Users rdnattr: uid objectclass: top objectclass: person objectclass: inetorgperson uid: user.<sequential:1> cn: user.<sequential:1> mail: user.<sequential:1>@oracle.com photo:: <random:base64:2048> description: <random:alphanumeric:80> sn: <random:alphanumeric:20> telephonenumber: <random:numeric:6> homephone: <random:numeric:6> pager: <random:numeric:6> mobile: <random:numeric:6> employeenumber: <random:numeric:6> street: <random:alphanumeric:25> l: <random:alphanumeric:5> st: <random:alphanumeric:2> postalcode: <random:numeric:5> postaladdress: <random:alphanumeric:100> 24
付 録 D: 追 加 情 報 20 億 エントリのディレクトリのベンチマーク Oracle Internet Directory 10.1.4.0.1 Oracle Technology Network 上 のOracle Internet Directory Oracle Technology Network 上 のOracle Exadata Database Machine 3Dデモ:Oracle Exadata Database Machine X2-2 Sun Fire X4470サーバー SLAMD 負 荷 生 成 エンジン Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management 11g Release 1 (11.1.1) Oracle Fusion Middleware 高 可 用 性 ガイド, 11g リリース1(11.1.1) Oracle ドキュメント 25
Facebook 時 代 のOracle Internet Directory 2011 年 2 月 作 成 者 :Buddhika Kottahachchi Ramaprakash Sathyanarayan 共 著 者 :Ajay Keni Olaf.Stullich@oracle.com Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海 外 からのお 問 い 合 わせ 窓 口 : 電 話 :+1.650.506.7000 ファクシミリ:+1.650.506.7200 Copyright 2010, Oracle and/or its affiliates. All rights reserved. 本 文 書 は 情 報 提 供 のみを 目 的 として 提 供 されており ここに 記 載 される 内 容 は 予 告 なく 変 更 されることがあります 本 文 書 は 一 切 間 違 いがないことを 保 証 するものではなく さらに 口 述 による 明 示 または 法 律 による 黙 示 を 問 わず 特 定 の 目 的 に 対 する 商 品 性 もしくは 適 合 性 についての 黙 示 的 な 保 証 を 含 み い かなる 他 の 保 証 や 条 件 も 提 供 するものではありません オラクル 社 は 本 文 書 に 関 するいかなる 法 的 責 任 も 明 確 に 否 認 し 本 文 書 によって 直 接 的 または 間 接 的 に 確 立 される 契 約 義 務 はないものとします 本 文 書 はオラクル 社 の 書 面 による 許 可 を 前 もって 得 ることなく いかなる 目 的 のためにも 電 子 または 印 刷 を 含 むいかなる 形 式 や 手 段 によっても 再 作 成 または 送 信 することは できません OracleおよびJavaはOracleおよびその 子 会 社 関 連 会 社 の 登 録 商 標 です その 他 の 名 称 はそれぞれの 会 社 の 商 標 です AMD Opteron AMDロゴおよびAMD Opteronロゴは Advanced Micro Devicesの 商 標 または 登 録 商 標 です IntelおよびIntel XeonはIntel Corporationの 商 標 または 登 録 商 標 です すべてのSPARC 商 標 はライセンスに 基 づいて 使 用 されるSPARC International, Inc.の 商 標 または 登 録 商 標 です UNIXはX/Open Company, Ltd.によってライセンス 提 供 された 登 録 商 標 です 1010 www.oracle.com