4.4. 미세한 ID 목록 크기


대규모 데이터베이스의 일부 쿼리에서는 많은 양의 CPU 및 RAM 리소스를 사용할 수 있습니다. 성능을 개선하기 위해 nsslapd-idlistscanlimit 특성을 사용하여 데이터베이스의 모든 인덱스에 적용되는 기본 ID 검사 제한을 설정할 수 있습니다. 그러나 경우에 따라 특정 인덱스에 대한 제한을 정의하거나 ID 목록을 사용하지 않는 것이 유용합니다. nsIndexIDListScanLimit 특성을 사용하여 다양한 검색 필터 유형에 대해 ID 목록 검사 제한에 대한 개별 설정을 설정할 수 있습니다.
objectClass 속성과 같은 제한을 설정하려면 nsIndexIDListScanLimit 매개변수를 DN cn=objectclass,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config 에 추가합니다.
nsIndexIDListScanLimit 특성은 다중 값이며 다음 매개 변수 목록을 값으로 사용합니다.
nsIndexIDListScanLimit: limit=NNN [type=eq[,sub,...]] [flags=AND[,XXX,...]] [values=val[,val,...]]
Copy to Clipboard Toggle word wrap
  • limit: ID 목록의 최대 크기입니다. 유효한 값은 다음과 같습니다.
    • -1: 무제한.
    • 0: 인덱스를 사용하지 마십시오.
    • 1에서 최대 32비트 정수(2147483647): 최대 ID 수입니다.
  • 유형: 선택 사항. 인덱스의 유형입니다. Eq,sub,pres, etc. 값은 인덱스 정의에 대해 지정된 실제 nsIndexType 중 하나여야 합니다. 예를 들어 nsIndexType=eq 가 정의되지 않은 경우 type=eq 를 사용할 수 없습니다.
  • 플래그: 선택 사항. 검사 제한 적용 동작을 변경하는 플래그입니다. 유효한 값은 다음과 같습니다.
    • AND : 속성이 AND 절에 표시되는 검색에만 검사 제한을 적용합니다.
    • OR: OR 절에 속성이 표시되는 검색에만 검사 제한을 적용합니다.
  • : 선택 사항입니다. 제한을 적용하려면 검색 필터와 일치해야 하는 쉼표로 구분된 값 목록입니다. 일치 항목이 한 번에 하나씩 수행되므로 값이 일치하는 경우 값이 일치합니다.
    값은 한 번에 하나의 유형에서만 사용해야 합니다.
    값은 인덱스 유형에 일치해야 하며 인덱스가 적용되는 속성의 구문에 일치해야 합니다. 예를 들어 정수 기반 특성 uidNumber 를 지정하고 eq 용으로 인덱싱된 경우 type=eq values=abc 를 사용할 수 없습니다.
    값에 공백, 쉼표, NULL 또는 이스케이프해야 하는 기타 값이 포함된 경우 LDAP 필터 이스케이프 구문을 사용해야 합니다. 백슬래시(\) 뒤에 문자에 대한 2 16진수 코드가 차례로 표시됩니다. 다음 예에서 DN 값의 쉼표는 \2C 로 이스케이프됩니다.
    nsIndexIDListScanLimit: limit=0 type=eq values=uid=user\2Cou=People\2Cdc=example\2Cdc=com
    Copy to Clipboard Toggle word wrap

예 4.1. Setting nsIndexIDListScanLimit

오브젝트 클래스 inetOrgPerson 이 포함된 10만 개의 항목이 있는 대규모 데이터베이스에서 검색 (&(objectClass=inetOrgPerson)(uid=user) 은 먼저 objectClass=inetOrgPerson 과 일치하는 모든 10만 개의 ID 목록을 포함하는 ID 목록을 생성합니다. 데이터베이스가 필터의 두 번째 부분을 적용하면 결과 목록에서 uid=user 와 일치하는 오브젝트를 검색합니다. 이 경우 특정 인덱스에 대한 제한을 정의하거나 ID 목록을 전혀 사용하지 않는 것이 유용합니다.
objectClass=inetOrgPerson 에 대한 ID 목록이 AND 절에서 생성되지 않도록 설정하려면 다음 nsIndexIDListScanLimit 를 추가합니다.
# ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
dn: cn=objectclass,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
changetype: modify
replace: nsIndexIDListScanLimit
nsIndexIDListScanLimit: limit=0 type=eq flags=AND values=inetOrgPerson

modifying entry "cn=objectclass,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config"
Copy to Clipboard Toggle word wrap
AND 절에서 사용되는 경우 objectClass=inetOrgPerson 에 대한 ID 목록이 생성되지 않습니다. 다른 모든 상황에서는 nsslapd-idlistscanlimit 값이 적용됩니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat