第6章 データベースキャッシュ設定の管理
Directory Server は以下のキャッシュを使用します。
- 個々のディレクトリーエントリーが含まれる Entry キャッシュ。
- DN キャッシュは、DN と RDN をエントリーに関連付けるために使用されます。
- データベースインデックスファイル
*.db
および*.db4
が含まれるデータベースキャッシュ。
最高のパフォーマンス向上を実現するには、すべてのキャッシュサイズですべてのレコードを保存できる必要があります。推奨される自動サイズ設定機能を使用せず、使用可能な RAM を十分確保できない場合は、前に示した順序でキャッシュに空きメモリーを割り当てます
6.1. データベースおよびエントリーキャッシュの自動サイズ設定機能
デフォルトでは、Directory Server は、データベースおよびエントリーキャッシュ向けに最適化されたサイズを自動的に決定します。自動サイズ調整は、インスタンスの起動時にサーバーのハードウェアリソースに基づいて両方のキャッシュのサイズを最適化します。
重要
Red Hat は、自動チューニング設定の使用を推奨します。エントリーキャッシュサイズは手動で設定しないでください。
6.1.1. データベースおよびエントリーキャッシュの自動サイズ調整を手動で再有効化
10.1.1 より前のバージョンからインスタンスをアップグレードしたり、エントリーキャッシュサイズを手動で設定した場合は、エントリーキャッシュの自動チューニングを有効にできます。
cn=config,cn=ldbm database,cn=plugins,cn=config エントリーの以下のパラメーターは自動サイズ設定を制御します。
nsslapd-cache-autosize
- この設定では、データベースおよびエントリーキャッシュの自動サイズ設定に割り当てる空き RAM の量を制御します。自動サイズ設定が有効である:
- データベースおよびエントリーキャッシュの両方で、
nsslapd-cache-autosize
パラメーターが 0 より大きい値に設定されている場合は、 - データベースキャッシュの場合は、
nsslapd-cache-autosize
パラメーターおよびnsslapd-dbcachesize
パラメーターが 0 に設定されている場合。 - エントリーキャッシュの場合は、
nsslapd-cache-autosize
パラメーターおよびnsslapd-cachememsize
パラメーターが 0 に設定されている場合。
nsslapd-cache-autosize-split
- この値は、データベースキャッシュに使用される RAM の割合を設定します。残りのメモリーはエントリーキャッシュに使用されます。データベースキャッシュに 1.5 GB を超える RAM を使用しても、パフォーマンスは向上しません。そのため、Directory Server はデータベースキャッシュを 1.5 GB に制限します。
データベースおよびエントリーキャッシュの自動サイズ設定を有効にするには、以下を実行します。
- Directory Server インスタンスを停止します。
# systemctl stop dirsrv@instance_name
/etc/dirsrv/slapd-instance_name/dse.ldif
ファイルをバックアップします。# cp /etc/dirsrv/slapd-instance_name/dse.ldif \ /etc/dirsrv/slapd-instance_name/dse.ldif.bak.$(date "+%F_%H-%M-%S")
/etc/dirsrv/slapd-instance_name/dse.ldif
ファイルを編集します:- データベースおよびエントリーキャッシュに使用する空きシステム RAM の割合を設定します。たとえば、10% を設定するには、以下を実行します。
nsslapd-cache-autosize: 10
注記nsslapd-cache-autosize
パラメーターを 0 に設定する場合は、さらに以下を設定する必要があります。- cn=config,cn=ldbm database,cn=plugins,cn=config エントリーの
nsslapd-dbcachesize
を 0 に設定して、自動サイズ設定のデータベースキャッシュを有効にします。 - cn=database_name,cn=ldbm database,cn=plugins,cn=config エントリーの
nsslapd-cachememsize
を 0 に設定して、データベースの自動サイズ設定エントリーキャッシュを有効にします。
- 必要に応じて、空きシステム RAM からデータベースキャッシュに使用する割合を設定します。たとえば、40% を設定します。
nsslapd-cache-autosize-split: 40
Directory Server は、エントリーキャッシュに残り 60% の空きメモリーを使用します。 - 変更を保存します。
- Directory Server インスタンスを起動します。
# systemctl start dirsrv@instance_name
例6.1 nsslapd-cache-autosize
および nsslapd-cache-autosize-split
パラメーター
以下の設定は、両方のパラメーターのデフォルトです。
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
この設定により、システムの空き RAM の 10% が使用されます (
nsslapd-cache-autosize
)。このメモリーから、データベースキャッシュ (nsslapd-cache-autosize-split
) に 40% が使用され、エントリーキャッシュに残りの 60% が使用されます。
空き RAM に応じて、以下のキャッシュサイズになります。
空き RAM (GB 単位)
|
データベースキャッシュサイズ
|
エントリーキャッシュサイズ
|
---|---|---|
1 GB
|
40 MB
|
62 MB
|
2 GB
|
82 MB
|
122 MB
|
4 GB
|
164 MB
|
245 MB
|
8 GB
|
328 MB
|
492 MB
|
16 GB
|
512 MB[a]
|
1,126 MB
|
32 GB
|
512 MB [a]
|
2,764 MB
|
64 GB
|
512 MB [a]
|
6,042 MB
|
128 GB
|
512 MB [a]
|
12,596 MB
|
[a]
Directory Server は、 nsslapd-dbcachesize パラメーターに 512 MB の制限を適用します。
|