2장. 뷰의 성능 개선


뷰 기반 계층 구조의 성능은 계층 자체의 구성과 디렉터리 트리(DIT)의 항목 수에 따라 달라집니다.

가상 DIT 보기를 사용하는 경우 일반적으로 성능에 약간의 변경 사항이 있을 수 있습니다(표준 DIT에서 동일한 검색의 일부 백분율로 인해). 검색에서 뷰를 호출하지 않으면 성능에 영향을 미치지 않습니다. 배포 전에 예상되는 검색 패턴 및 로드에 대해 가상 DIT 보기를 테스트합니다.

뷰를 조직의 범용 탐색 도구로 사용하려는 경우 뷰 필터에 사용되는 속성을 인덱싱하는 것이 좋습니다.

또한 뷰에서 하위 필터 평가에 사용할 VLV(가상 목록 보기) 인덱스를 구성할 수 있습니다.

뷰를 위해 특별히 디렉터리의 다른 부분을 튜닝할 필요가 없습니다.

2.1. 명령줄을 사용하여 뷰의 성능을 개선하는 인덱스 생성

뷰는 지정된 필터를 기반으로 검색 결과에서 파생됩니다. 필터의 일부는 nsViewFilter 에서 명시적으로 제공되는 속성입니다. 나머지 필터는 보기에 포함된 실제 항목의 entryidparentid 작동 속성을 찾고 있는 항목 계층 구조를 기반으로 합니다.

(|(parentid=search_base_id)(entryid=search_base_id))

검색된 특성( entryid,parentid 또는 nsViewFilter 의 속성)이 인덱싱되지 않은 경우 검색은 부분적으로 인덱싱되지 않고 Directory Server는 전체 디렉터리 트리를 검색하여 일치하는 항목을 검색합니다.

뷰 성능을 향상하려면 다음과 같이 인덱스를 만듭니다.To improve views performance, create the indexes as follows:

  • entryid 에 대한 같음 인덱스 (eq)를 만듭니다. parentid 속성은 기본적으로 시스템 인덱스에서 인덱싱됩니다.
  • nsViewFilter 테스트의 필터가 존재하는 경우(attribute=*) 테스트 중인 속성에 대한 존재 인덱스 (이전)를 만듭니다. 디렉터리 항목의 소수성에 표시되는 속성에서만 이 인덱스 유형을 사용해야 합니다.
  • nsViewFilter 의 필터가 같음(attribute=value)을 테스트 중인 경우 테스트 중인 속성에 대한 같음 인덱스 (eq)를 만듭니다.
  • nsViewFilter 의 필터가 하위 문자열(attribute=value*)을 테스트하면 테스트 중인 속성에 대한하위 문자열 인덱스 (하위)를 만듭니다.
  • nsViewFilter 의 필터가 approximation(attribute~=value)을 테스트 중인 경우 테스트 중인 속성에 대해대략적인 인덱스 (대량 )를 만듭니다.

예를 들어 다음 보기 필터를 사용하는 경우 다음을 수행합니다.

nsViewFilter: (&(objectClass=inetOrgPerson)(roomNumber=*66))

기본적으로 수행되는 같음 인덱스objectClass 와 하위 문자열 인덱스가 있는 roomNumber 가 있어야 합니다.

사전 요구 사항

  • view 필터에서 사용하는 속성을 알고 있습니다.

절차

  1. 선택 사항: 백엔드를 나열하여 인덱스할 데이터베이스를 결정합니다.

    # dsconf instance_name backend suffix list
    dc=example,dc=com (userroot)

    선택한 데이터베이스 이름(가져오기)을 기록해 둡니다.

  2. 선택한 백엔드 데이터베이스에 대해 dsconfig 유틸리티를 사용하여 인덱스 구성을 생성합니다.

    특히 국제화된 인스턴스의 경우 특성 이름, 인덱스 유형, 선택적으로 일치하는 규칙을 지정하여 데이터 정렬 순서(OID)를 설정합니다.

    # dsconf instance_name backend index add --attr roomNumber --index-type sub userroot

    view 필터에 사용된 각 속성에 대해 이 단계를 반복합니다.

  3. 새 인덱스를 적용하려면 데이터베이스를 다시 인덱싱합니다.

    # dsconf instance_name backend index reindex userroot

검증

  1. 뷰에서 사용하는 것과 동일한 필터가 있는 표준 디렉터리 트리를 기반으로 하는 검색을 수행합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b dc=example,dc=com (&(objectClass=inetOrgPerson)(roomNumber=*66))
    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b dc=example,dc=com "(&(objectClass=inetOrgPerson)(roomNumber=*66))"
  2. /var/log/dirsrv/slapd-instance_name/ access 에서 액세스 로그 를 확인합니다.

    검색 RESULT 에는 세부 정보에 note=U 또는 Partially Unindexed 필터 가 포함되어 있지 않아야 합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동