LinuCレベル3 300試験の例題と解説

390.3 OpenLDAPサーバのパフォーマンスチューニング

今回は300試験の試験範囲から「390.3 OpenLDAPサーバのパフォーマンスチューニング」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<390.3 OpenLDAPサーバのパフォーマンスチューニング>
重要度 2

<説明>
LDAPサーバのパフォーマンスを測定し、設定ディレクティブを調整できること。

<主要な知識範囲>
・LDAPのパフォーマンスを測定する
・パフォーマンスを向上させるためソフトウェアの設定を調整する
・インデックスを理解する

<重要なファイル、用語、ユーティリティ>
・インデックス
・DB_CONFIG


■例題

OpenLDAPのパフォーマンスの説明として間違っているものを選びなさい。

1. インデックスを作成することでLDAPの情報を更新する速度が速くなる
2. インデックスの作成はslapd.confに設定し、slapindexコマンドを実行する
3. DB_CONFIGの設定で、バックエンドDBの動作をチューニングできる
4. メモリ割り当てを増やすことでOpenLDAPの高速化が行える

※この例題は実際のLinuC試験とは異なります。


解答と解説

答えは 1. インデックスを作成することでLDAPの情報を更新する速度が速くなる です。

OpenLDAPの情報は、利用する際にはツリー型データベースですが、実際にはバックエンドのDBにBerkley DBが標準的に使用されています。OpenLDAPのパフォーマンスは、ツリー型のデータベースとしての性能を向上させることと、バックエンドDBの性能を向上させることの、2つの側面があります。

ツリー型データベースのアクセスは、ツリー構造の頂点(ルート)から、1つずつ分岐を辿っていくことで必要なデータにアクセスできます。ちょうどファイルのディレクトリ構造と一緒です。そのため、分岐の数が多かったり、階層が深くなるとそれだけ性能が劣化する要因になります。そこで、ユーザーアカウントなど頻繁にアクセスされる階層内の情報をリスト化しておき、直接参照できるようにしておくことで検索性能を向上させるのが、インデックスの基本的な考え方です。

インデックスを作成したい属性をslapd.confで指定し、slapindexコマンドを実行することで、その属性を元にしたLDAPへの検索性能が向上します。

バックエンドDBのアクセスは、そのDBの情報をファイルではなくメモリ上に配置することで、より高速なアクセスが可能になるようにするのが基本的な考え方です。そのため、バックエンドDBに対するメモリ割り当てを設定するDB_CONFIGに対して、読み込みや書き込みのためのバッファ容量を指定して、できるだけディスクに対するアクセスを少なくし、効率良く読み書きできるようにする必要があります。

以下の資料が分かりやすくまとまっているので、参考にするとよいでしょう。

○さあその先へ、OpenLDAPパフォーマンスチューニング
http://www.ldap.jp/_media/doc/osc2010_tokyo_spring.pdf?
id=doc&cache=cache

ページトップへ