9.8. 캐시 설정 관리


Directory Server는 다음 캐시를 사용합니다.

  • 개별 디렉터리 항목이 포함된 항목 캐시입니다.
  • DN(고유 이름) 캐시는 DN 및 RDN(유치 고유 이름)을 항목과 연결하는 데 사용됩니다.
  • 데이터베이스 인덱스 파일 *.db 파일이 포함된 데이터베이스 캐시입니다.

성능 향상을 위해 모든 캐시 크기는 모든 레코드를 저장할 수 있어야 합니다. 권장 자동 크기 조정 기능을 사용하지 않고 사용 가능한 RAM이 충분하지 않은 경우 이전에 표시된 순서대로 캐시에 사용 가능한 메모리를 할당합니다.

기본적으로 Directory Server는 자동 크기 조정 기능을 사용하여 인스턴스가 시작될 때 서버의 하드웨어 리소스에 대한 데이터베이스 및 항목 캐시의 크기를 최적화합니다.

중요

Red Hat은 자동 크기 조정 기능을 사용하여 캐시 크기를 수동으로 설정하지 않는 것이 좋습니다.

cn=config,cn=ldbm 데이터베이스,cn=plugins,cn=config 항목의 다음 매개변수는 auto-sizing을 제어합니다.

nsslapd-cache-autosize

이러한 설정은 데이터베이스 및 항목 캐시에 자동 크기 조정이 활성화되어 있는지 제어합니다. 자동 크기 조정이 활성화되어 있습니다.

  • 데이터베이스 및 항목 캐시 모두에서 nsslapd-cache-autosize 매개변수가 0 보다 큰 값으로 설정된 경우
  • 데이터베이스 캐시의 경우 nsslapd-cache-autosizensslapd-dbcachesize 매개변수가 0 으로 설정된 경우
  • 항목 캐시의 경우 nsslapd-cache-autosizensslapd-cachememsize 매개변수가 0 으로 설정된 경우
nsslapd-cache-autosize-split
  • 이 값은 Directory Server가 데이터베이스 캐시에 사용하는 RAM의 백분율을 설정합니다. 서버는 항목 캐시에 나머지 백분율을 사용합니다.
  • 데이터베이스 캐시에 1.5GB 이상의 RAM을 사용하면 성능이 향상되지 않습니다. 따라서 Directory Server는 데이터베이스 캐시를 1.5GB로 제한합니다.

기본적으로 Directory Server는 다음 기본값을 사용합니다.

  • nsslapd-cache-autosize: 25
  • nsslapd-cache-autosize-split: 25
  • nsslapd-dbcachesize: 1,536 MB

이러한 설정을 사용하면 시스템의 사용 가능한 RAM의 25%가 사용됩니다(nsslapd-cache-autosize). 이 메모리에서 서버는 데이터베이스 캐시에 25%를 사용하고(nsslapd-cache-autosize-split) 및 나머지 75%는 항목 캐시에 사용합니다.

사용 가능한 RAM에 따라 다음과 같은 캐시 크기가 생성됩니다.

Expand
표 9.1. nsslapd-cache-autosize 및 nsslapd-cache-split에서 기본값을 사용하는 경우 캐시 크기
GB of free RAM데이터베이스 캐시 크기항목 캐시 크기

1GB

64MB

192 MB

2GB

128 MB

384MB

4GB

256MB

768 MB

8GB

512MB

1,536MB

16GB

1,024MB

3,072MB

32GB

1,536MB

6,656MB

64GB

1,536MB

14,848 MB

128GB

1,536MB

31232MB

9.8.2. 필요한 캐시 크기

dsconf monitor dbmon 명령을 사용하면 런타임 시 캐시 통계를 모니터링할 수 있습니다. 통계를 표시하려면 다음을 입력합니다.

# dsconf <instance_name> monitor dbmon

DB Monitor Report: 2022-02-24 10:25:16
--------------------------------------------------------
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
Copy to Clipboard Toggle word wrap

선택적으로 -b back_end 또는 -x 옵션을 명령에 전달하여 특정 백엔드 또는 인덱스의 통계를 표시합니다.

캐시 크기가 충분한 경우 DN 캐시 수의 수는 캐시 수 백엔드 항목의 값과 일치합니다. 또한 모든 항목과 DN이 해당 캐시에 적합한 경우 Entry Cache Count 값은 DN 캐시 수 값과 일치합니다.

이 예제의 출력은 다음과 같습니다.

  • 2.2%의 무료 데이터베이스 캐시만 남아 있습니다:

    Database Cache:
     ...
     - Free Space:          397.31 KB
     - Free Percentage:     2.2%
    Copy to Clipboard Toggle word wrap

    그러나 효율적으로 운영하려면 최소 15 % 이상의 무료 데이터베이스 캐시가 필요합니다. 데이터베이스 캐시의 최적 크기를 확인하려면 하위 디렉터리와 변경 로그 데이터베이스를 포함하여 /var/lib/dirsrv/slapd- <instance_name> /db/ 디렉토리에서 모든 *.db 파일의 크기를 계산하고 오버헤드에 대해 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
    Copy to Clipboard Toggle word wrap

    데이터베이스의 DN 캐시에는 100000개의 레코드가 포함되어 있습니다. 캐시의 69, percent는 사용 불가능합니다. 각 메모리의 DN은 평균 Cryostat 바이트가 필요합니다.

    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
    Copy to Clipboard Toggle word wrap

    이 데이터베이스 50000 레코드에는 항목 캐시에 포함되어 있으며 2 킬로바이트의 여유 공간만 남아 있습니다. Directory Server가 100000 DN을 모두 캐시할 수 있도록 하려면 캐시를 최소 890MB(00000 DNs * 8,9KB 평균 항목 크기)로 늘려야 합니다. 그러나 Red Hat은 필요한 최소 크기를 다음 최고 GB로 반올림하고 그 결과를 두 배로 늘릴 것을 권장합니다. 이 예에서는 항목 캐시를 2GB로 설정해야 합니다.

    항목 캐시를 설정하려면 명령줄을 사용하여 항목 캐시 크기 설정을 참조하십시오.

9.8.3. 명령줄을 사용하여 데이터베이스 캐시 크기 설정

데이터베이스 캐시에는 데이터베이스의 Berkeley 데이터베이스 인덱스 파일이 포함되어 있습니다. 즉, 데이터베이스에서 특성 인덱싱에 사용되는 *.db 및 기타 모든 파일이 포함됩니다. 이 값은 Berkeley DB API 함수 set_cachesize() 에 전달됩니다. 이 캐시 크기는 항목 캐시 크기보다 Directory Server 성능에 미치는 영향은 줄어들지만 항목 캐시 크기가 설정된 후 사용 가능한 RAM이 있는 경우 데이터베이스 캐시에 할당된 메모리 양을 늘립니다.

프로세스

  1. 자동 캐시 튜닝 비활성화

    # dsconf <instance_name> backend config set --cache-autosize=0
    Copy to Clipboard Toggle word wrap
  2. 데이터베이스 캐시 크기를 수동으로 설정합니다.

    # dsconf <instance_name> backend config set --dbcachesize=268435456
    Copy to Clipboard Toggle word wrap

    데이터베이스 캐시 크기를 바이트 단위로 지정합니다. 이 예제에서 명령은 데이터베이스 캐시를 256MB로 설정합니다.

  3. 인스턴스를 다시 시작합니다.

    # dsctl <instance_name> restart
    Copy to Clipboard Toggle word wrap

9.8.4. 웹 콘솔을 사용하여 데이터베이스 캐시 크기 설정

데이터베이스 캐시에는 데이터베이스의 Berkeley 데이터베이스 인덱스 파일이 포함되어 있습니다. 즉, 데이터베이스에서 특성 인덱싱에 사용되는 *.db 및 기타 모든 파일이 포함됩니다. 이 값은 Berkeley DB API 함수 set_cachesize() 에 전달됩니다. 이 캐시 크기는 항목 캐시 크기보다 Directory Server 성능에 미치는 영향은 줄어들지만 항목 캐시 크기가 설정된 후 사용 가능한 RAM이 있는 경우 데이터베이스 캐시에 할당된 메모리 양을 늘립니다.

사전 요구 사항

  • 웹 콘솔에서 인스턴스에 로그인되어 있습니다.

프로세스

  1. 데이터베이스 글로벌 데이터베이스구성으로 이동합니다.
  2. 자동 캐시 튜닝을 선택 해제합니다.
  3. Save Config 를 클릭합니다.
  4. 256MB의 268435456 과 같은 데이터베이스 캐시 크기를 바이트 단위로 입력합니다.
  5. Save Config 를 클릭합니다.
  6. 오른쪽 상단에 있는 작업을 클릭하고 인스턴스 재시작 을 선택합니다.

9.8.5. 명령줄을 사용하여 DN 캐시 크기 설정

Directory Server는 진입점 인덱스를 사용하여 고유 이름(DN) 및 RDN( relative 고유 이름)을 항목과 연결합니다. 이를 통해 서버는 하위 트리의 이름을 효율적으로 변경하고 항목을 이동하고 moddn 작업을 수행할 수 있습니다. 서버는 DN 캐시를 사용하여 입력된 인덱스의 메모리 내 표현을 캐시하여 비용이 많이 드는 파일 I/O 및 변환 작업을 방지합니다.

특히 항목 이름 변경 및 작업 이동과 같이 최상의 성능을 위해 자동 튜닝 기능을 사용하지 않는 경우 DN 캐시를 데이터베이스의 모든 DN을 캐시할 수 있는 크기로 설정합니다.

DN이 캐시에 저장되지 않은 경우 Directory Server는 entryrdn.db 인덱스 데이터베이스 파일에서 DN을 읽고 디스크의 DN을 디스크 형식에서 메모리 내 형식으로 변환합니다. 캐시에 저장된 DNS를 사용하면 서버가 디스크 I/O 및 변환 단계를 건너뛸 수 있습니다.

프로세스

  1. 접미사와 해당 백엔드를 표시합니다.

    # dsconf <instance_name> backend suffix list
    dc=example,dc=com (userroot)
    Copy to Clipboard Toggle word wrap

    이 명령은 각 접미사 옆에 백엔드 데이터베이스의 이름을 표시합니다. 다음 단계에서 접미사의 데이터베이스 이름이 필요합니다.

  2. DN 캐시 크기를 설정합니다.

    # dsconf <instance_name> backend suffix set --dncache-memsize=20971520 userRoot
    Copy to Clipboard Toggle word wrap

    이 명령은 사용자Root 데이터베이스의 DN 캐시를 20MB로 설정합니다.

  3. 인스턴스를 다시 시작합니다.

    # dsctl <instance_name> restart
    Copy to Clipboard Toggle word wrap

9.8.6. 웹 콘솔을 사용하여 DN 캐시 크기 설정

Directory Server는 진입점 인덱스를 사용하여 고유 이름(DN) 및 RDN( relative 고유 이름)을 항목과 연결합니다. 이를 통해 서버는 하위 트리의 이름을 효율적으로 변경하고 항목을 이동하고 moddn 작업을 수행할 수 있습니다. 서버는 DN 캐시를 사용하여 입력된 인덱스의 메모리 내 표현을 캐시하여 비용이 많이 드는 파일 I/O 및 변환 작업을 방지합니다.

특히 항목 이름 변경 및 작업 이동과 같이 최상의 성능을 위해 자동 튜닝 기능을 사용하지 않는 경우 DN 캐시를 데이터베이스의 모든 DN을 캐시할 수 있는 크기로 설정합니다.

DN이 캐시에 저장되지 않은 경우 Directory Server는 entryrdn.db 인덱스 데이터베이스 파일에서 DN을 읽고 디스크의 DN을 디스크 형식에서 메모리 내 형식으로 변환합니다. 캐시에 저장된 DNS를 사용하면 서버가 디스크 I/O 및 변환 단계를 건너뛸 수 있습니다.

사전 요구 사항

  • 웹 콘솔에서 인스턴스에 로그인되어 있습니다.

프로세스

  1. Database Suffixes suffix_name 으로 이동합니다.
  2. DN 캐시 크기를 바이트 단위로 DN 캐시 크기 필드에 입력합니다.
  3. Save Configuration 을 클릭합니다.
  4. 오른쪽 상단에 있는 작업을 클릭하고 인스턴스 재시작 을 선택합니다.

9.8.7. 명령줄을 사용하여 항목 캐시 크기 설정

Directory Server는 항목 캐시를 사용하여 검색 및 읽기 작업 중에 사용되는 디렉터리 항목을 저장합니다. 항목 캐시를 모든 레코드를 저장할 수 있는 크기로 설정하면 검색 작업에 가장 큰 영향을 미칩니다.

항목 캐싱이 구성되지 않은 경우 Directory Server는 id2entry.db 데이터베이스 파일에서 항목을 읽고 고유 이름(DN)을 디스크상의 형식에서 메모리 내 형식으로 변환합니다. 캐시에 저장된 항목을 사용하면 서버가 디스크 I/O 및 변환 단계를 건너뛸 수 있습니다.

프로세스

  1. 자동 캐시 튜닝을 비활성화합니다.

    # dsconf <instance_name> backend config set --cache-autosize=0
    Successfully updated database configuration
    Copy to Clipboard Toggle word wrap
  2. 접미사와 해당 백엔드를 표시합니다.

    # dsconf <instance_name> backend suffix list
    dc=example,dc=com (userroot)
    Copy to Clipboard Toggle word wrap

    이 명령은 각 접미사 옆에 백엔드 데이터베이스의 이름을 표시합니다. 다음 단계에서 접미사의 데이터베이스 이름이 필요합니다.

  3. 데이터베이스의 항목 캐시 크기를 바이트 단위로 설정합니다.

    # dsconf <instance_name> backend suffix set --cache-memsize=2147483648 userRoot
    Copy to Clipboard Toggle word wrap

    이 명령은 사용자Root 데이터베이스의 항목 캐시를 2GB로 설정합니다.

  4. 인스턴스를 다시 시작합니다.

    # dsctl <instance_name> restart
    Copy to Clipboard Toggle word wrap

9.8.8. 웹 콘솔을 사용하여 항목 캐시 크기 설정

Directory Server는 항목 캐시를 사용하여 검색 및 읽기 작업 중에 사용되는 디렉터리 항목을 저장합니다. 항목 캐시를 모든 레코드를 저장할 수 있는 크기로 설정하면 검색 작업에 가장 큰 영향을 미칩니다.

항목 캐싱이 구성되지 않은 경우 Directory Server는 id2entry.db 데이터베이스 파일에서 항목을 읽고 고유 이름(DN)을 디스크상의 형식에서 메모리 내 형식으로 변환합니다. 캐시에 저장된 항목을 사용하면 서버가 디스크 I/O 및 변환 단계를 건너뛸 수 있습니다.

사전 요구 사항

  • 웹 콘솔에서 인스턴스에 로그인되어 있습니다.

프로세스

  1. Database Suffixes suffix_name Settings 로 이동합니다.
  2. 자동 캐시 튜닝 설정을 비활성화합니다.
  3. Save Configuration 을 클릭합니다.
  4. 오른쪽 상단에 있는 작업을 클릭하고 인스턴스 재시작 을 선택합니다.
  5. Database Suffixes suffix_name Settings 로 이동합니다.
  6. Entry Cache Size 필드에서 데이터베이스 캐시 크기를 설정합니다.
  7. Save Configuration 을 클릭합니다.
  8. 오른쪽 상단에 있는 작업을 클릭하고 인스턴스 재시작 을 선택합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat