6.2. 必要なキャッシュサイズの決定

Dsconf monitor dbmon コマンドを使用すると、実行時にキャッシュ統計を監視できます。
統計を表示するには、次のコマンドを実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com monitor dbmon
DB Monitor Report: 2020-06-24 11:31:27
--------------------------------------------------------
Database Cache:
 - Cache Hit Ratio:     50%
 - Free Space:          397.31 KB
 - Free Percentage:     2.2%
 - RO Page Drops:       0
 - Pages In:            2934772
 - Pages Out:           219075

Normalized DN Cache:
 - Cache Hit Ratio:     60%
 - Free Space:          19.98 MB
 - Free Percentage:     99.9%
 - DN Count:            100000
 - Evictions:           9282348

Backends:
  - dc=example,dc=com (userroot):
    - Entry Cache Hit Ratio:        66%
    - Entry Cache Count:            50000
    - Entry Cache Free Space:       2.0 KB
    - Entry Cache Free Percentage:  0.8%
    - Entry Cache Average Size:     8.9 KB
    - DN Cache Hit Ratio:           21%
    - DN Cache Count:               100000
    - DN Cache Free Space:          4.29 MB
    - DN Cache Free Percentage:     69.8%
    - DN Cache Average Size:        130.0 B
必要に応じて、-b back_end または -x オプションをコマンドに渡して、特定のバックエンドまたはインデックスの統計を表示します。
キャッシュのサイズが十分である場合、DN Cache Count の数は Cache Count バックエンドエントリーの値と一致します。さらに、すべてのエントリーと DN がそれぞれのキャッシュ内に収まる場合、Entry Cache Count カウント値は DN Cache Count 値と一致します。
この例の出力は、以下のようになります。
  • 2.2% の空きデータベースキャッシュのみが残っている場合:
    Database Cache:
     ...
     - Free Space:          397.31 KB
     - Free Percentage:     2.2%
    ただし、効率的に操作するには 15% 以上の空きデータベースキャッシュが必要です。データベースキャッシュの最適なサイズを決定するには、サブディレクトリーと changelog データベースを含む /var/lib/dirsrv/slapd-instance_name/db/ ディレクトリーのすべての *.db および *.db4 ファイルのサイズを計算し、オーバーヘッドとして 12% を追加します。
    データベースキャッシュを設定するには、「データベースキャッシュサイズの設定」 を参照してください。
  • userroot データベースの DN キャッシュは適正です。
    Backends:
      - dc=example,dc=com (userroot):
        ...
        - DN Cache Count:               100000
        - DN Cache Free Space:          4.29 MB
        - DN Cache Free Percentage:     69.8%
        - DN Cache Average Size:        130.0 B
    
    データベースの DN キャッシュには 100000 のレコードが含まれ、キャッシュの空き領域の割合は 69.8 % で、メモリーの各 DN には平均 130 バイトが必要です。
    DN キャッシュを設定するには、「DN キャッシュのサイズ設定」 を参照してください。
  • userroot データベースのエントリーキャッシュの統計は、パフォーマンスを向上させるためにエントリーキャッシュの値を大きくする必要があることを示しています。
    Backends:
      - dc=example,dc=com (userroot):
      ...
        - Entry Cache Count:            50000
        - Entry Cache Free Space:       2.0 KB
        - Entry Cache Free Percentage:  0.8%
        - Entry Cache Average Size:     8.9 KB
    エントリーキャッシュのこのデータベースには 50000 のレコードが含まれており、残りの空き領域は 2 キロバイトのみです。Directory Server がすべての 100000 DN をキャッシュできるようにするには、キャッシュを最小でも 890 MB(100000 DN * 8,9 KB の平均エントリーサイズ) に増やす必要があります。ただし、Red Hat は、必要な最小サイズを次に大きい GB に切り上げし、その結果を 2 倍にすることを推奨します。この例では、エントリーキャッシュを 2 ギガバイトに設定する必要があります。
    エントリーキャッシュを設定するには、「エントリーキャッシュサイズの手動設定」 を参照してください。