Sun ONE ロゴ     前へ      目次      索引      次へ     
Sun ONE Directory Server インストールおよびチューニングガイド



第 3 章   チューニングのヒント

パフォーマンスをチューニングすることは、特定の導入要件を反映するためにデフォルトの設定を変更することを意味します。

このマニュアルでは、単一の Directory Server インスタンスをチューニングする方法について説明します。ここでの説明は、レプリケーショントポロジを含めたディレクトリサービス全体の設計がすでに完了され、ここに記載された情報を使って、その設計要件を満足できるように Directory Server インスタンスをチューニングすることを前提にしています。ディレクトリサービス全体の設計をまだ行なっていない場合は、『Sun ONE Directory Server Deployment Guide』を参照し、設計方法を確認してください。

パフォーマンスのチューニングには、表 3-1 に示すように、時間と労力をかけて検討することが必要です。

表 3-1    チューニングのプロセス 

段階

内容

ゴールの定義

導入要件を基に、具体的に測定可能なチューニング目標を定義する。次のような質問を検討する

  • どのアプリケーションが Directory Server を使用するのか
  • システムは Directory Server 専用か。ほかのアプリケーションが実行されていないか。その場合どのアプリケーションか
  • 導入で必要となるエントリの数はいくつか。それらのエントリの大きさはどのぐらいか
  • Directory Server がサポートする必要のある 1 秒あたりの検索回数は何回か。どの検索タイプが予想されるか
  • Directory Server がサポートする必要のある 1 秒あたりの更新回数は何回か。どの更新タイプが予想されるか
  • 更新や検索の割合のピークはどの程度が予想されるか。平均の割合はどの程度が予想されるか
  • このシステムでは導入で繰り返し一括インポートの初期化が必要となるか。その場合、インポートはどのぐらいの頻度で実行されるか。一度にインポートされるエントリ数はいくつか。エントリのタイプは何か。初期化は、実行中のサーバーを使用してオンラインで行う必要があるか

このリストがすべての質問ではないので、自分に必要な質問事項を確認する

方法の選択

チューニングの最適化の実装計画と、最適化を測定および分析する方法の計画を決定する

システムのハードウェア設定は変更可能か。既存のハードウェアを使用して、オペレーティングシステムと Directory Server だけの調整に限定するか。ほかのアプリケーションはどのようにシミュレートするか。テストに使用する典型的なデータのサンプルはどのように生成するか。結果をどのように測定するか。結果をどのように分析するか

テストの実行

計画したテストを実行する。大規模で複雑な導入では、この段階にとても時間がかかることがある

結果の検証

最適化されている可能性のあるテストを行なった結果、このプロセスの最初に定義した目標を達成しているかどうかをチェックする

目標を達成している場合は、結果を記録する

目標を達成していない場合は、チューニングしている Directory Server をプロファイルし、監視する

プロファイルと監視

可能な変更を適用したら Directory Server の動作をプロファイルし、監視する。関連動作をすべて測定し、収集する

プロットと分析

プロファイルと監視の間に観察された動作をプロットし、分析する。詳細なテストを示唆する証拠やパターンを探してみる

多くのデータを集めるために、プロファイルと監視の段階に戻ることが必要になる場合がある

変更とチューニング

測定結果の分析から考えられる追加の最適化を適用する

テストを実施する段階に戻る

結果の記録

適用した最適化によって、プロセスの最初に定義した目標に到達した場合は、同じ結果をすぐに再現できるように記録を残す

この章では、Directory Server インスタンスのほとんどのチューニングで該当する基本的な要件を一覧にして表示しています。ここで提示した要件は一般に有効なものですが、特定の導入に与える影響を理解しないまますぐに適用することは避けてください。この章はチェックリストとして使用されることを想定しています。内容を理解せずにそのまま使用しないでください。

  1. キャッシュサイズを調整します。
  2. サーバーには、Directory Server で使用されるキャッシュをすべて保持するのに十分な利用可能物理メモリがあることが理想的です。この場合、エントリキャッシュにはディレクトリ内のすべてのエントリを保持するのに十分なサイズを設定し、データベースキャッシュにはすべてのインデックスを保持するのに十分なサイズを設定します。

    詳細は、第 6 章「キャッシュサイズのチューニング」を参照してください。

  3. インデックスを最適化します。
    1. 不要なインデックスを削除し、予想される要求に対応するためのインデックスを追加します。
    2. 新しいアプリケーションからの要求をサポートするインデックスを追加する必要が生じる場合があります。Directory Server の実行中にインデックスを追加、削除、および修正することは可能ですが、既存のデータはその時点から時間経過に従って段階的にインデックスされるだけです。

      詳細は、「利点: 検索でインデックスを使用する方法」「コスト : 更新がインデックスに与える影響」を参照してください。

    3. インデックスされた検索だけを許可します。
    4. インデックスされていない検索では、サーバーのパフォーマンスに強い悪影響を与えるおそれがあり、サーバーリソースを著しく消費する可能性があります。アプリケーションで実行する特定の検索をサポートするインデックスを追加し、インデックスされていない検索を拒否するようにサーバーで設定することを検討します。

      詳細は、「インデックス検索だけを許可する」を参照してください。

    5. インデックスリストの最大長を調整します。
    6. 詳細は、「インデックスリストの長さを制限する」を参照してください。

  4. 基盤となるオペレーティングシステムをチューニングします。
  5. 詳細は、第 5 章「オペレーティングシステムのチューニング」を参照してください。

  6. 操作の上限を調整します。
  7. 操作の上限を調整すると、Directory Server で単一の操作に過度のリソースを割り当てることがなくなります。強化された機能を要求するクライアントアプリケーションに一意のバインド DN を割り当て、それらの一意のバインド DN に固有のリソース制限を設定することを検討します。

    詳細は、第 9 章「その他のリソースの使用の管理」を参照してください。

  8. 不必要なログを無効にします。
  9. ディスクアクセスは、メモリアクセスよりもかなり速度が遅いです。頻繁にディスクのログファイルに書き込むと、パフォーマンスに強い悪影響を与えるおそれがあります。可能ならば、アクセス、エラー、監査の各ログは、必要がないときにオフにして、ディスクに書き込まないようにします。少なくとも、別のコントローラを使用する別のディスクにログファイルを配置することで、ログの影響を減らすようにしてください。

    詳細は、第 8 章「ログのチューニング」を参照してください。

  10. ディスク活動を分散させます。
  11. 特に大量の更新をサポートする導入の場合、Directory Server では大量のディスク I/O を集中的に使用します。可能ならば、別々のコントローラを使用する複数ディスクに負荷を分散させることを検討します。

    詳細は、「ディスクサブシステムのサイジング」を参照してください。


前へ      目次      索引      次へ     
Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.