디렉토리 서버에서는 WAN을 통해 연결된 시스템 간의 다중 마스터 복제를 포함하여 모든 형태의 복제를 수행할 수 있습니다. 공급자 서버에서는 이 복제를 통해 높은 대기 시간과 낮은 대역폭을 가진 네트워크의 대역폭을 최대한 활용하여 소비자를 초기화하고 업데이트할 수 있습니다.
WAN을 통해 복제되는 복제 토폴로지를 배포하거나 문제를 해결할 경우 네트워크 속도, 대기 시간 및 패킷 손실을 확인해야 합니다. 이러한 영역의 네트워크 문제는 복제 지연을 초래할 수 있습니다.
또한 복제 데이터 전송 속도는 대역폭의 측면에서 사용 가능한 물리적 매체가 허용하는 속도보다 항상 떨어집니다. 복제본 간의 업데이트 용량이 사용 가능한 대역폭에 모두 수용되지 않으면 조정을 통해서도 복제본이 과도한 업데이트 로드로 인해 분산되는 것을 방지할 수 없습니다. 복제 지연 및 업데이트 성능은 수정 속도, 항목 크기, 서버 하드웨어, 오류율, 평균 대기 시간, 평균 대역폭 등 다양한 요인에 의해 결정되며, 이에 제한되지 않습니다.
사용자 환경의 복제에 대한 질문 사항이 있는 경우 Sun 서비스 공급자에게 문의하십시오.
복제 메커니즘의 내부 매개 변수는 기본적으로 WAN에 최적화되어 있습니다. 하지만 위에 명시된 요인들로 인해 복제 속도가 느려질 경우 경험적으로 창 크기 및 그룹 크기 매개 변수를 조정할 수 있습니다. 네트워크 사용량이 많은 시간을 피해 복제를 예약함으로써 전체적인 네트워크 사용을 향상시킬 수도 있습니다. 마지막으로 디렉토리 서버는 대역폭 사용 최적화를 위해 복제 데이터 압축을 지원합니다.
창 및 그룹 네트워크 매개 변수는 네트워크에서 보다 효율적으로 항목을 전송하기 위해 복제 메커니즘에서 항목을 그룹화하는 방법을 결정합니다. 이 두 매개 변수는 공급자 및 소비자가 복제 업데이트 메시지와 승인을 교환하는 방법에도 영향을 줍니다. 매개 변수는 모든 복제 계약에서 구성할 수 있으므로 각 소비자의 특정 네트워크 조건에 따라 복제 성능을 조정할 수 있습니다.
수정 결과를 모니터하고 매개 변수를 적절하게 조정합니다. 자세한 내용은 복제 상태 가져오기를 참조하십시오. 창 크기 및 그룹 크기 매개 변수를 수정하는 경우 복제를 중단할 필요가 없습니다.
창 크기(기본값 10)는 소비자로부터의 즉각적인 응답 없이 보낼 수 있는 최대 업데이트 메시지 수를 나타냅니다.
각각의 메시지 후에 승인을 기다리지 않고 다수의 메시지를 연속해서 빨리 보내는 것이 더욱 효율적입니다. 적절한 창 크기를 사용하면 복제본이 복제 업데이트 또는 승인이 도착할 때까지 기다리는 시간을 줄일 수 있습니다.
소비자 복제본이 공급자보다 지연되는 경우, 창 크기를 기본값보다 높은 값(예: 100)으로 증가시키고 다른 조정 작업을 수행하기 전에 복제 성능을 다시 확인합니다. 복제 업데이트 속도가 빠르고 업데이트 간격이 짧으면 LAN(Local Area Network)으로 연결된 복제본에서도 창 크기를 높게 설정하는 것이 좋습니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
창 크기를 수정합니다.
$ dsconf set-repl-agmt-prop -h host -p port suffix-DN consumer-host:consumer-port transport-window-size:value |
예:
$ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \ transport-window-size:20 |
그룹 크기(기본값 1)는 하나의 업데이트 메시지로 처리할 수 있는 최대 데이터 수정 항목 수를 나타냅니다. 네트워크 연결이 복제 과정에 방해가 되는 경우, 그룹 크기를 기본값보다 높은 값(예: 10)으로 증가시키고 복제 성능을 다시 확인합니다.
그룹 크기를 늘릴 경우 다음을 확인해야 합니다.
창 크기가 그룹 크기보다 훨씬 높게 설정되어 있는지 확인합니다.
창 크기를 그룹 크기로 나눈 값이 소비자의 cn=config에 설정된 nsslapd-maxThreadsPerConn 값보다 훨씬 큰지 확인합니다(일반적으로 두 배).
그룹 크기가 1보다 높게 설정되어 있으면 공급자는 그룹이 채워질 때까지 기다리지 않고 소비자에게 업데이트를 보냅니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
그룹 크기를 수정합니다.
$ dsconf set-repl-agmt-prop -h host -p port suffix-DN \ consumer-host:consumer-port transport-group-size:value |
예:
$ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \ transport-group-size:10 |
복제본 간에 즉시 동기화할 필요가 없으면 네트워크 사용량이 적은 기간 동안 복제를 예약할 수 있습니다. 네트워크 사용량이 적을수록 데이터 복제가 더 빠르게 완료됩니다.
복제를 특정 시간, 매일 또는 매주 시작하고 끝내도록 예약할 수 있습니다. 복제 계약을 통해 이 작업을 모든 소비자에 대해 개별적으로 수행할 수 있습니다. 새 일정이 즉시 적용되므로 해당 소비자에 대한 다음 데이터 복제는 일정에 처음 부합될 때까지 지연됩니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
복제 일정을 수정합니다.
$ dsconf set-repl-agmt-prop -h host -p port suffix-DN \ host:port repl-schedule:value |
예를 들어 매일 밤 2시와 4시 사이에 복제가 발생하도록 설정하려면 다음을 입력합니다.
$ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \ repl-schedule:"0200-0400 0123456" |
여기서 0123456은 요일을 나타냅니다. 즉, 0은 일요일을, 1은 월요일을 나타냅니다.
복제의 대역폭 사용량을 줄이려면 소비자를 업데이트할 때 데이터를 압축하여 보내도록 복제를 구성할 수 있습니다. 복제 메커니즘은 Zlib 압축 라이브러리를 사용합니다.. 압축을 사용하려면 공급자와 소비자 모두 Solaris 또는 Linux 플랫폼에서 실행해야 합니다.
명시적인 테스트를 통해 사용자의 WAN 환경의 예상 복제 사용에 대해 가장 우수한 결과를 제공하는 압축 수준을 선택해야 합니다. 압축 및 압축 해제 계산으로 인해 복제가 느려지므로 네트워크 대역폭이 충분한 LAN에서는 이 매개 변수를 설정하지 마십시오.
DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.
마스터 서버에서 복제 계약 항목에 대한 복제 압축을 구성합니다.
$ dsconf set-repl-agmt-prop -h host -p port suffix-DN \ consumer-host:consumer-port transport-compression:level |
여기서 level은 high, medium, low 또는 none입니다.
예를 들어 복제 업데이트를 host1:1389에 있는 소비자에게 보낼 때 가장 빠른 압축을 사용하려면 다음을 입력합니다.
$ dsconf set-repl-agmt-prop -h host2 -p 1389 dc=example,dc=com host1:1389 \ transport-compression:high |
복제 수준 설정에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.0 Reference를 참조하십시오.