이 절에서는 서버 풀 구성에서 Instant Messaging 배포 시 조정 및 성능에 유용한 정보 및 다음 절의 가비지 컬렉션을 최적화하는 데 유용한 정보에 대해 설명합니다.
이 정보는 Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide와 함께 사용해야 합니다.
서버 풀 배포 시 서버 풀에 각 Instant Messaging 서버를 동일하게 설치해야 합니다.
J2SE 버전 5를 사용하여 Instant Messaging 서버를 실행하십시오. 더 우수한 성능을 제공할 뿐만 아니라 인체 공학적 기능을 지원하므로 명령줄을 조정할 필요가 없습니다. 이 Java 버전 사용에 관한 자세한 내용은 다음 문서에서 찾을 수 있습니다.
Instant Messaging 서버는 iim.conf의 iim.jvm.maxmemorysize 매개 변수를 사용하여 할당할 JVM 힙의 최대 크기를 설정합니다. 이 매개 변수의 기본값은 256MB이지만 대용량 Instant Messaging을 배포하려면 더 많은 메모리가 필요합니다. 서버 풀의 Instant Messaging 서버에 할당할 메모리는 지원해야 하는 동시 활성 사용자 수에 따라 결정됩니다. 서버 풀의 각 Instant Messaging 서버는 각각의 연결된 사용자/활성 사용자가 다음과 같은 일일 사용에 필요로 하는 65KB와 함께 256MB가 필요합니다.
2회 업데이트
10분 동안 5번의 채팅
15분 동안 1회의 다중 사용자 회의
1회 로그아웃 및 로그인
사용자별 추가 로드, 뉴스나 파일 전송과 같은 추가 Instant Messaging 서비스 사용 및 메시지 필터와 같은 기능 사용, 보관 또는 SSL 등은 더 많은 메모리를 소모합니다. 생산 환경에 Instant Messaging을 배포하기 전에 일반적인 사용자 활동의 로드 프로파일링을 수행해야 합니다. Instant Messaging 배포 로드 프로파일링에 관한 자세한 내용은 Sun 지원 서비스에 문의하십시오.
Instant Messaging은 클라이언트-서버 및 서버-서버 간 요청에 대해 서비스를 제공하는 데 사용된 스레드 풀의 크기 및 동작에 따라 일련의 구성 옵션을 제공합니다. 관련 서비스 포트와 조합된 이 스레드 풀로 Instant Messaging 서버의 처리 속도를 향상시킬 수 있습니다.
| 
 옵션 이름  | 
 설명  | 
 기본값  | 
|---|---|---|
| 
 iim_server.maxthreads  | 
 기본 스레드 풀의 최대 스레드 수  | 
 20  | 
| 
 iim_server.threadpool  | 
 독립적인 스레드 풀 목록  | 
 (모두 기본 스레드 풀을 사용함)  | 
| 
 iim_server.threadpool.capacity  | 
 기본 스레드 풀 용량(*)  | 
 10 * maxthreads  | 
| 
 iim_server.threadpool.aaa.maxthreads  | 
 aaa라는 스레드 풀에 대한 최대 스레드: maxthreads(aaa)  | 
 4  | 
| 
 iim_server.threadpool.aaa.capacity  | 
 aaa라는 스레드풀 용량  | 
 10 * maxthreads(aaa)  | 
표 3 Instant Messaging에 대해 정의된 스레드 풀
| 
 이름  | 
 용도  | 
|---|---|
| 
 s2s-in  | 
 모든 서버-서버 인바운드 통신. 포트에서 서버-서버가 허용된 경우 이 스레드 풀이 사용됩니다.  | 
| 
 s2s-out  | 
 모든 서버-서버 아웃바운드 통신. 포트에서 서버-서버가 허용된 경우 이 스레드 풀이 사용됩니다.  | 
| 
 s2s  | 
 모든 서버-서버 통신. s2s-in 및 s2s-out의 조합입니다.  | 
정의된 스레드 풀은 서비스 포트 구성에서 설명한 대로 연관된 서버 전용 서비스 포트에서 지정 및 사용할 수 있습니다.
스레드 풀 용량이 초과되면 표준 오류 메시지가 출력됩니다. Instant Messaging 서버는 요청 수가 스레드 풀의 용량 값보다 낮아질 때까지 스레드 풀에 대한 추가 요청을 허용하지 않습니다. 서버 풀 환경에서 이와 같은 상황이 발생하면 다음을 수행해야 할 수 있습니다.
스레드 풀 용량 늘리기
정의된 스레드 풀 지정하기
스레드 풀의 maxthreads 수 조정하기
서버 전용 서비스 포트 사용하기
필요에 따라 메모리 늘리기
좀 더 효율적으로 서버 풀의 사용자 분산하기
!s2s thread pool iim_server.threadpool=s2s-in iim_server.threadpool.s2s-in.maxthreads=5  | 
이 절에서 설명한 대로 다양한 서비스 포트 구성 옵션이 있습니다.
| 
 옵션  | 
 정의  | 
 기본값  | 
|---|---|---|
| 
 iim_server.useport  | 
 일반 포트 열기(StartTLS에 허용)  | 
 true  | 
| 
 iim_server.usesslport  | 
 SSL 포트 열기(협상 불가능 TLS)  | 
 false  | 
| 
 iim_server.usemuxport  | 
 멀티플렉서 포트 열기  | 
 true  | 
| 
 iim_server.port  | 
 일반 포트 목록  | 
 5269  | 
| 
 iim_server.sslport  | 
 SSL 포트 목록  | 
 5270  | 
| 
 iim_mux.serverport  | 
 멀티플렉서 포트 목록  | 
 45222  | 
| 
 iim_server.port.port .sndbuf  | 
 소켓 send 버퍼 크기  | 
 none  | 
| 
 iim_server.port.port .rcvbuf  | 
 소켓 recv 버퍼 크기  | 
 none  | 
| 
 iim_server.port.port .interface  | 
 바인드할 특정 네트워크 인터페이스 목록  | 
 none(any를 나타냄)  | 
| 
 iim_server.port.port .protocol  | 
 이 포트에 허용된 프로토콜 목록(클라이언트, 서버, 구성 요소, 피어)  | 
 all/any  | 
| 
 iim_server.port.port .nodelay  | 
 Nagles 알고리즘 활성화  | 
 false  | 
포트의 수신 또는 송신 버퍼 크기를 조정하여 서비스 포트의 처리 속도를 향상시킬 수 있습니다.
iim_server.port = 5269, 45269, 15222 iim_server.port.5269.protocol = server iim_server.port.45269.protocol = peer, component iim_server.port.45269.sndbuf= 512000 iim_server.port.45269.recvbuf= 512000 iim_server.port.15222.protocol = client  | 
(발행 번호: 6279277) 1.4.2 및 1.5 버전에서의 가비지 컬렉션에 대한 JRE 처리 방식이 달라 서버 호스트에서 1.4.2 버전으로 기본 가비지 수집기를 사용할 때 성능이 다소 저하될 수 있습니다. 이 문제를 해결하기 위해 JRE를 1.5 버전으로 업그레이드하거나 서버 호출 시 다음 명령줄 옵션을 포함할 수 있습니다.
-XX:+UseParallelGC  | 
JRE 가비지 컬렉션에 대한 자세한 내용은 다음을 참조하십시오.