| Oracle Internet Directory 管理者ガイド 10gリリース2(10.1.2) B15775-02 |
|
容量計画は、アプリケーションのディレクトリ・アクセス要件を評価し、許容速度でリクエストを処理するための十分なコンピュータ・リソースがOracle Internet Directoryにあることを確認するプロセスです。この章では、容量計画を行うときに考慮する必要がある項目について説明します。Acme Corporationという仮想の会社における、電子メール・メッセージ・アプリケーションのディレクトリ配置例を使用して説明します。
この章では、次の項目について説明します。
Oracle Internet Directoryとそれに対応するOracle Databaseが同じコンピュータ上で実行されている場合、容量計画の担当者が考慮する必要がある設定可能なリソースは次のとおりです。
Oracle Internet Directory用のハードウェアを調達する場合は、すべてのコンポーネント(CPU、メモリー、I/Oなど)が、効果的に使用されることを確認してください。一般的に、適切なメモリーの使用と堅固なI/Oサブシステムによって、CPUをビジー状態に保つことができます。
Oracle Internet Directoryを新規インストールする場合は常に、次の事項が整っている必要があります。
表20-1に、この章で使用する重要な用語を定義します。
この章では、Acme Corporationという仮想の会社における、電子メール・メッセージ・アプリケーションのディレクトリ配置例を考察します。容量計画の各コンポーネントを検証し、Acme Corporationの例に対して推奨事項を適用していきます。
Oracle Internet Directoryの潜在的な負荷を評価することは、正確な容量計画を作成するために非常に重要です。Acme Corporationという仮想の会社で利用されている電子メール・メッセージ・ソフトウェアについて検証します。この例の電子メール・メッセージ・ソフトウェアは、Internet Message Access Protocol(IMAP)をベースにしています。Oracle Internet Directoryにアクセスする主要なソフトウェアには、次の2種類があります。
個々のユーザーのプライベート・エイリアスとプライベート配布リストもディレクトリに格納されていると仮定します。さらに、表20-2の仮定を設けて、ディレクトリのサイズを推測できるようにします。
| エントリ・タイプ | サイズ |
|---|---|
|
ユーザー数の合計 |
40,000 |
|
ユーザーごとのプライベート・エイリアスの平均数 |
10 |
|
ユーザーごとのプライベート配布リストの平均数 |
10 |
|
パブリック配布リストの合計数 |
4000 |
|
社内におけるパブリック・エイリアスの合計数 |
1000 |
|
このアプリケーションに関連しているディレクトリ内の各エントリにある属性数 |
20 |
|
カタログ化属性の数 |
10 |
前述の仮定に基づくと、Oracle Internet Directoryにおける全体的なエントリ件数は、表20-3のように算出できます。
| エントリ・タイプ | サイズ |
|---|---|
|
ユーザー・エントリ |
40,000(このエントリはユーザー自身を表しています) |
|
ユーザーのプライベート・エイリアス |
40,000×10 = 400,000エントリ |
|
ユーザーのプライベート配布リスト |
40,000×10 = 400,000エントリ |
|
会社全体の配布リスト |
4000 |
|
会社全体のエイリアス |
1000 |
前述の仮定から、ディレクトリに存在するエントリは約100万件であることがわかります。ユーザー数とディレクトリに存在するエントリ数が与えられたとして、パフォーマンス要件を導出するために、使用パターンを分析してみます。一般的なユーザーは、毎日平均10通の電子メールを送信し、外部から1日に平均10通の電子メールを受信します。ユーザーが送信する各メールに対して、平均5人の受信者がいると仮定すると、各メールごとに5回ずつディレクトリ参照が行われます。
表20-4は、1日に発生する可能性があるすべてのディレクトリ参照回数を要約したものです。
| ディレクトリ参照のタイプ | 1日のディレクトリ参照の数 |
|---|---|
|
各ユーザーからの送信メールを処理するメール転送エージェント(MTA) |
5×10×40,000 = 2,000,000 |
|
外部からのメールを処理するMTA |
10×40,000 = 400,000 |
|
その他のすべてのディレクトリ参照(IMAPクライアントによる特定のアドレスの検証など) |
800,000 |
合計すると、毎日のディレクトリ参照の総数は約3,200,000(320万)となります。これらの参照が1日に均一に分配されたとすると、毎秒約37ディレクトリ参照(毎時約133,333参照)が行われる必要があります。ただし、このように均一に分配されることは実際にはありません。
現行の電子メール・システムの使用状況を24時間にわたって分析すると、そのパターンは図20-1のようになります。
電子メール・システムおよびOracle Internet Directoryに最も負荷がかかるのは朝の時間帯です。その他に、昼食時と就業時間終了付近にもピークがあります。しかし、Oracle Internet Directoryに最も負荷がかかるのは朝の時間帯です。
全ディレクトリ参照の90パーセントが通常の勤務時間内に発生すると仮定します。表20-5に、8時間勤務制の朝、昼食時、就業時間終了付近の負荷の時間帯を示します。
| 負荷の時間帯 | 参照回数 |
|---|---|
|
朝の負荷 |
65%: 0.90×0.65×3,200,000 = 1,872,000参照/2時間(936,000参照/時) |
|
昼食時の負荷 |
10%: 0.90×0.10×3,200,000 = 288,000参照/1時間(288,000参照/時) |
|
就業時間終了付近の負荷 |
20%: 0.90×0.20×3,200,000 = 576,000参照/2時間(288,000参照/時) |
これらの計算結果により、この場合のディレクトリは、ピーク時の負荷である1時間当り936,000の参照を処理するように設計する必要があることが示されています。
データ・セットのサイズとパフォーマンス要件について理解したため、インストールの個々のコンポーネントを調べ、それぞれについて適切な値を見積もることができます。
この項では、次の項目について説明します。
I/Oサブシステムは、CPUが負荷となる作業を実行できるように、CPUにデータを送り出すポンプにたとえることができます。I/Oサブシステムには、データ記憶域を管理する役割もあります。I/Oサブシステムの主なコンポーネントは、ディスク・コントローラによって制御される一連のディスク・ドライブです。
I/Oサブシステムのサイズを決めるときは、記憶要件のみに基づいたサイズではなく、パフォーマンス要件を考慮することが重要です。ディスク・ドライブのサイズは増加していますが、スループット(ディスク・ドライブがデータを送り出す速度)は、比例して増加していません。I/Oサブシステムのサイズを計算するときには、情報として次の要因を考慮する必要があります。
様々なI/Oサブシステムがある場合は、常にスループットが最大のドライブを選択してください。一般的に、次の技術を1つ以上使用すると、I/Oスループットを最大にできます。
Oracle Internet Directory固有のデータ・ファイルを適切に動作させる方法のガイドラインは、第21章「ディレクトリのチューニングに関する考慮事項」を参照してください。ディスク障害の許容度によっては、異なるレベルのRedundant Arrays of Inexpensive Disks(RAID)を考慮することもできます。
可能なかぎり最良のI/Oサブシステムを用意する決定が行われたと仮定して、次にディスク自体のサイズ設定を見積ります。
表20-6を使用すると、全般的なディスク要件を概算で見積もることができます。
| ディレクトリ情報ツリー内のエントリ数 | ディスク要件 |
|---|---|
|
100,000 |
450MB〜650MB |
|
200,000 |
850MB〜1.5GB |
|
500,000 |
2.5GB〜3.5GB |
|
1,000,000 |
4.5GB〜6.5GB |
|
1,500,000 |
6.5GB〜10GB |
|
2,000,000 |
9GB〜13GB |
表20-6に示すデータから、次のことが仮定されます。
Acme Corporationの例に戻ると、ディレクトリに存在するエントリ数は約100万であるため、ディスク要件はおよそ4.5GB〜6.5GBとなります。カタログ化属性の数に関してAcme Corporationに設定した仮定は異なりますが、前述の表からサイズ要件の概算値を導出できます。
ディレクトリは、様々なアプリケーションに幅広く配置されている可能性があるため、これらの仮定は、考えられる状況すべてに対して必ずしも真である必要はありません。属性のサイズが大きい場合、エントリごとの属性の数が多い場合、アクセス制御情報アイテム(ACI)が広範囲で使用されている場合、またはカタログ化属性の数が非常に多い場合など、様々な状況が考えられます。このような場合の簡単な計算方法を、次項で提示します。この方法によって、計画担当者はディスク要件を詳細に把握できます。
Oracle Internet DirectoryはすべてのデータをOracle Databaseに格納するため、ディスク領域のサイズ設定では、主に基礎となるデータベースのサイズを設定します。Oracle Internet Directoryは、データを表20-7に示す表領域に格納します。
この項では、表20-7で参照される各表領域のサイズ要件を決定するための簡単な計算方法を提示します。すべてのサイズの計算は、表20-8の変数に基づいて行われます。
表20-8に示す変数を使用すると、個々の表領域のサイズを表20-9に示すように計算できます。
この表の計算式は、Oracle Internet Directoryの広範囲にわたる様々な配置例についての正確な領域要件を計算するために使用します。各表領域のサイズを合計すると、データベース全体のディスク要件がわかります。オプションで、その値にfactor_of_safety変数を乗算すると、予期せぬ事態にも対処可能な数値を算出できます。
Acme Corporationの例に戻り、前項に記述されている要件に基づいて各変数に値を代入します。表20-10は、この項で紹介するAcme Corporationの各変数の値を示したものです。
これらの値を前述の等式に代入すると、表20-11にリストした値が得られます。
| 表領域名 | サイズ(バイト) | サイズ(MB) |
|---|---|---|
|
OLTS_ATTRSTORE |
2,223,000,000 |
2182 |
|
OLTS_CT_STORE |
2,328,512,000 |
274 |
|
OLTS_DEFAULT |
159,680,000 |
156 |
|
OLTS_SVRMGSTORE |
2,701,568 |
3 |
|
SYSTEM |
314572800 |
300 |
|
合計サイズ |
5038093862 |
4920 |
表20-11は、Acme Corporationのデータベースの見積りサイズが約8.25GBであることを示しています。すべてのデータを一括してロードする場合、Oracle Internet Directoryのbulkloadツールには、一時ファイルを格納するためにデータベースが使用する追加領域が30%必要です。Acme Corporationの場合は、領域要件の合計に約2.5GBを追加します。
メモリーは、Oracle Internet Directoryなどのあらゆるデータベース・アプリケーションが、多数の個別のタスク用に使用します。いずれかのタスクに対するメモリー・リソースが不十分な場合は、CPUの稼働率が低くなり、システム・パフォーマンスが低下します。また、メモリー使用量はデータベースへの同時接続数とディレクトリの同時ユーザー数に比例して増加します。容量計画の目的で、アクティブな接続は、クライアントがディレクトリとのバインドを要求したときに開始し、このバインドが完了したときに終了します。
処理に使用できるメモリーは、システム上の仮想メモリーから供給されます。これは、使用可能な物理メモリーよりもやや大きいメモリーです。全アクティブ・メモリー使用量の合計が、そのシステムで使用可能な物理メモリーを超えると、オペレーティング・システムは、ある程度のメモリー・ページをディスク上に格納する必要があります。この作業をページングと呼びます。使用可能な物理メモリーをはるかに超えるメモリーを使用すると、ページングによってパフォーマンスが低下することがあります。一般的に、物理メモリーの20%を超えたメモリーは使用しないでください。ページングが発生した場合は、プロセスごとのメモリー使用量を減らすか、または物理メモリーを追加する必要があります。ただし、トレードオフに注意してください。追加できるメモリーには物理的な制限があり、プロセスごとのメモリー使用量を減らすとパフォーマンスが大幅に低下します。
メモリーを主に消費するのは、システム・グローバル領域(SGA)内のデータベース・バッファ・キャッシュおよびOIDサーバー・エントリ・キャッシュ(使用可能な場合)です。バッファ・キャッシュおよびエントリ・キャッシュのヒット率を高くするには、各領域に十分なメモリーを割り当てる必要があります。次の計算式は、エントリ・キャッシュ内に'N'個のエントリをキャッシュするために必要なRAMの量の概算を示しています。
N * [ 150+ {attrs_per_entry + 6) * (avg_attrname_len + avg_attr_size + 40) } ]
* 1.3
表20-12に、異なるディレクトリ構成別に最小メモリー要件を示します。
| ディレクトリのタイプ | エントリ件数 | 最小メモリー |
|---|---|---|
|
小 |
600,000未満 |
512MB |
|
標準 |
600,000〜2,000,000 |
1GB |
|
大 |
2,000,001以上 |
2GB |
Acme Corporationの例では、ディレクトリ内のエントリ数は約1,000,000(100万)です。パフォーマンスを最大にするには、2GBを選択してください。
ほとんどの場合、ネットワークがボトルネックとなることはありません。ただし、容量計画の段階では、慎重に考慮する必要があります。クライアントがOracle Internet Directoryとのメッセージ送受信用に十分なネットワーク帯域幅を確保していない場合は、全体的なスループットが非常に低く感じられます。たとえば、毎秒800の検索を処理するようにOracle Internet Directoryを構成しても、Oracleディレクトリ・サーバーを実行しているコンピュータへのアクセスに使用できるのが10Mbpsのネットワーク(10-Base-Tイーサネット)のみなので、使用可能な帯域幅が60パーセントの場合、クライアントは、スループットが毎秒600検索操作であると理解します(各検索操作で1024バイトがネットワークで移送されると仮定した場合)。表20-13に、2種類の操作(1024バイトの転送を必要とする操作と2048バイトの転送を必要とする操作)について、10Mbpsと100Mbpsの2つのタイプのネットワークで、帯域幅の使用可能率が異なる場合の最大可能スループット(操作/秒)を示します。
場合によっては、クライアントからOracleディレクトリ・サーバーへのメッセージ送信時のネットワーク待機時間を考慮することが重要になります。WANの環境によっては、ネットワーク待機時間が500ミリ秒になる場合があり、操作によっては、クライアントがタイムアウトとなる可能性があります。要約すると、各種ネットワーク・オプションがある場合は、常に帯域幅が最大で、待機時間が最短のネットワークを選択することをお薦めします。
Acme Corporationの例では、ピーク時の使用率は1時間当り936,000参照で、ディレクトリへの参照操作がこの回数実行されます。つまり、毎秒約260のディレクトリ操作が実行される必要があります。各操作で2KBのデータがネットワーク上を転送されると仮定すると、100Mbpsのネットワークを使用するか、または10Mbpsのネットワークで最低60パーセントの帯域幅を使用する必要があります。100Mbpsのネットワークの方が通常待機時間が短いため、10Mbpsのネットワークより優先して選択することになります。
この項では、次の項目について説明します。
Oracle Internet Directoryに関するCPUのサイズ設定は、ユーザーの作業負荷に直接影響を与えます。CPU構成は、次の要因によって決まります。
作業負荷の増加に従って、システムにCPUリソースを追加できますが、CPUリソースを追加しても、すべての操作にそのままスケーラビリティがもたらされることはほとんどありません。これは、多くの操作が単にCPUのみに制限されるわけではないためです。このため、すべてのベンダーから一般的に入手可能なパフォーマンス特性(SPECint_rate95ベースライン)によって、コンピュータの処理能力が分類されます。この数値は、一連の整数テストから導き出され、すべてのシステム・ベンダーおよびSPECのWebサイト(http://www.spec.org)から入手可能です。
Oracle Internet Directoryは、SMPコンピュータで複数のCPUを効率的に使用しているため、SPECint_rate95の数値に基づいてコンピュータを分類できます。SPECint_rate95の範囲では、一般的に公表されている結果と異なるベースラインの数値が選択されています。これは、一般的に公表されている結果が、実際にはコンピュータのピーク時のパフォーマンスであるのに対して、ベースラインの数値は、通常の状況下のパフォーマンスを表しているためです。
Oracle Internet Directoryは、通常Oracle Databaseと同じマシンに常駐しているため、少なくとも2CPUのシステムをお薦めします。Oracle Internet Directoryの使用レベルに基づいて、表20-14のように概算で見積もることができます。
| 使用方法 | CPUの数 | SPECint_rate95ベースライン | システム |
|---|---|---|---|
|
部門単位 |
2 |
60〜200 |
Compaq AlphaServer 8400 5/300(300MHz×2) |
|
組織単位 |
4 |
200〜350 |
IBM RS/6000 J50(200MHz×4) |
|
会社単位 |
4+ |
350+ |
Sun Ultra 450(296 MHz×4) |
CPUの消費量はいくつかの要因によって変化するため、所定の配置サイトですべての操作に対するCPU要件を判断することは困難です。次のような要因があります。
SSLを除くほとんどの場合、Oracle Internet Directoryサーバー・プロセスとデータベースとの間にかなりの待機時間があることが予想されます。Oracle Internet Directoryサーバー・プロセスのスレッドがデータベースの応答を待機しているときは、Oracle Internet Directoryサーバー・プロセス内のその他のスレッドを、LDAPサーバー固有の処理が必要なその他のクライアント・リクエストの作業に充てることができます。この結果、操作のいかなる組合せでも、同時クライアントとOracle Internet Directoryサーバー・プロセスの組合せが常に実現でき、CPU使用率が100%になります。この場合は、CPUがボトルネックとなります。
この事実を考慮し、メッセージング・タイプのサブツリー検索操作を採用し、操作のスループットを低下させずに、指定された数の同時操作をサポートするために必要なCPUリソースを算出しています。メッセージング検索操作には、サブツリー有効範囲、単純な完全一致フィルタおよび1つのエントリの結果セットが関係します。Oracle Internet Directory 10gリリース2(10.1.2)の場合は、次のようになります。
SPECint_rate95ベースライン= 0.5×(ピーク時のスループットでの同時操作最大数)
これは、操作のスループットを低下させずに、600の同時クライアントをサポートする必要がある場合は、(0.5×600)= 300以上のSPECint_rate95ベースライン評価のコンピュータが必要であることを意味します。
操作のスループットについては、Oracle Internet Directory 10gリリース2(10.1.2)の場合、次のようになります。
SPECint_rate95ベースライン= 0.4×(サポートされる同時操作最大数での操作のスループット)
これは、サポートされる同時操作数として指定した最大数に、毎秒750操作のスループットが必要な場合は、(0.4×750)= 300以上のSPECint_rate95ベースライン評価のコンピュータが必要であることを意味します。
Oracle Internet Directoryは、追加CPUリソースを確実に調整することが証明されています。これは次のことを意味します。
Acme Corporationの例に戻り、各クライアントにわずかな待機時間を見込みながら、500の同時メッセージング・タイプのサブツリー検索操作をサポートする適切なCPUリソースが必要であると仮定します。安全係数を20%とすると、CPU要件の仮見積りは、360以上のSPECint_rate95ベースラインを持つコンピュータとなります。
ここまでの各項で、容量計画に関係する様々なコンポーネントを説明するとともに、それぞれのコンポーネントを、Acme Corporationという仮想の会社におけるOracle Internet Directoryの配置に適用する方法も紹介しました。この項では、前述のすべての推奨事項を簡単に要約して示します。最初の仮定は次のとおりです。
この要件とその他の仮定に基づいて、次の推奨事項を提示しました。
サイズ設定の計算を直観的に理解できるように、いくつか単純な仮定を使用しました。
|
![]() Copyright © 1995, 2005 Oracle. All Rights Reserved. |
|