이 장에서는 Sun JavaTM System Communications Express의 성능 향상을 위해 고려해야 할 정보에 대해 설명합니다.
이 절에서는 성능을 향상시키기 위해 Directory Server에서 수행할 수 있는 조정에 대해 설명합니다.
Calendar Server가 LDAP Directory Server에 액세스할 때 Communications Express의 성능을 향상시키려면 다음 LDAP 속성을 색인화합니다.
icsCalendar. 이 속성은 달력 사용자나 자원에 대한 기본 달력을 검색할 때 사용됩니다. 색인 유형을 존재(pres), 일치(eq), 하위 문자열(sub) 중 하나로 지정합니다.
icsCalendarOwned. 이 속성은 LDAP CLD 플러그 인이 활성화되어 있을 때 가입 작업을 검색하는 데 사용됩니다. 색인 유형을 존재(pres), 일치(eq) 및 하위 문자열(sub)로 지정합니다.
mail 및 mailAlternateAddress. 이러한 두 속성은 사용자의 기본 및 대체 전자 메일 주소를 지정합니다.
comm_dssetup.pl 스크립트는 icsCalendar, icsCalendarOwned, mail 및 mailAlternateAddress 속성의 색인을 추가합니다.
사용자/그룹 LDAP Directory Server 구성의 nsSizeLimit 및 nsLookthroughLimit 매개 변수는 검색이 제대로 완료될 수 있을 만큼 커야 합니다.
이러한 매개 변수 값이 제대로 설정되어 있는지 확인하려면 다음 명령을 사용합니다.
ldapsearch -b /base/ (&(icscalendarowned=*/user/*)(objectclass=icsCalendarUser))
여기서,
/base/는 Calendar Server의 사용자 및 자원 데이터가 있는 Directory Server의 LDAP 기본 DN입니다.
/user/는 Communications Express의 가입 옵션에 있는 달력 검색 대화 상자에 최종 사용자가 입력할 수 있는 값입니다.
LDAP 서버가 오류를 반환하면 nsSizeLimit 또는 nsLookthroughLimit 매개 변수가 충분히 크게 설정되지 않았기 때문일 수 있습니다.
nsSizeLimit 또는 nsLookthroughLimit 매개 변수를 재설정하려면 다음 매개 변수 재설정을 위한 지침을 따르십시오.
nsSizeLimit 매개 변수의 값이 모든 원하는 결과를 반환할 만큼 충분히 커야 합니다. 그렇지 않으면 데이터 끝이 잘려나갈 수 있으며 결과가 표시되지 않습니다.
nsLookthroughLimit 매개 변수의 값이 LDAP 디렉토리에 있는 모든 사용자와 자원에 대한 검색을 완료할 만큼 충분히 커야 합니다. 가능하면 nsLookthroughLimit을 -1로 설정합니다. 이렇게 하면 nsLookthroughLimit에 대해 검색 제한이 설정되지 않습니다.
이 절에서는 Calendar Server에서 여러 CPU에 걸친 로드 균형 조정이 어떻게 성능을 향상시킬 수 있는지 설명합니다.
서버에 여러 CPU가 있는 경우 Calendar Server는 기본적으로 HTTP 서비스(cshttpd 프로세스) 및 분산 데이터베이스 서비스(csdwpd 프로세스)를 여러 CPU에 분산시킵니다.
ics.conf의 service.http.numprocesses 및 service.dwp.numprocesses 매개 변수는 각 서비스를 위해 실행되는 실제 프로세스 수를 결정합니다. 기본적으로 이 두 매개 변수는 설치하는 동안 서버의 CPU 수로 설정되지만 값을 재설정할 수 있습니다. 예를 들어, CPU가 8개인 서버인 경우 cshttpd 및 csdwpd 프로세스를 4개의 CPU에서만 실행하려면 매개 변수를 다음과 같이 설정하면 됩니다.
service.http.numprocesses="4"
service.dwp.numprocesses="4"
service.loadbalancing 매개 변수를 ics.conf 파일에 추가합니다.
service.loadbalancing을 “no”로 설정합니다.
변경 내용을 적용하려면 Calendar Server를 다시 시작합니다.
로드 균형 조정에 대한 자세한 내용은 Sun ONE Calendar Server 6.0 관리자 설명서의 부록 C, Calender Server 성능 조정을 참조하십시오.
이 절에서는 성능 향상을 위해 Web Server에서 수행할 수 있는 조정에 대해 설명합니다.
server.xml에서 <vs\>(가상 서버) 요소에 있는 acceptorthreads 속성의 값을 Web Server를 호스팅하는 시스템의 CPU 수로 변경합니다.
예를 들면 다음과 같습니다.
<VS id="https-siroe.com" connections="ls1" mime="mime1" aclids="acl1" urlhosts="<webserver host name"acceptorthreads="<noofcpus\>" \> |
Web Server의 server.xml 파일에서 다음 JVM 옵션을 추가하거나 설정합니다.
JVMOPTIONS-Xms(approx value according to the memory available)/JVMOPTIONS
JVMOPTIONS-Xmx(approx value according to the memory available)/JVMOPTIONS
첫 번째 옵션은 최대 힙 크기를 나타내고 두 번째 옵션은 최소 힙 크기를 나타냅니다.
두 옵션을 같은 값으로 설정하는 것이 좋습니다.
다음 JVM 옵션을 추가합니다.
JVMOPTIONS -server /JVMOPTIONS
JVMOPTIONS-XX:+UseParNewGC/ JVMOPTIONS
JVMOPTIONS-XX:ParallelGCThreads= number-of-CPUs/JVMOPTIONS
JVMOPTIONS-XX:+UseConcMarkSweepGC/ JVMOPTIONS
uwcconfig.properties 파일에서 uwc.gzip compression 매개 변수 값을 “true”로 설정하여 서버 응답을 압축합니다.
예: uwc.gzipcompression = true
그런 다음 Web Server를 다시 시작합니다.
변경하기 전에 구성 파일의 백업을 유지합니다.