Sun Java System Instant Messaging 7 2006Q1 릴리스 노트

성능, 확장성 및 크기 조정 고려 사항

이 절에서는 서버 풀 구성에서 Instant Messaging 배포 시 조정 및 성능에 유용한 정보 및 다음 절의 가비지 컬렉션을 최적화하는 데 유용한 정보에 대해 설명합니다.

이 정보는 Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide와 함께 사용해야 합니다.


주의 – 주의 –

서버 풀 배포 시 서버 풀에 각 Instant Messaging 서버를 동일하게 설치해야 합니다.


Instant Messaging 서버 메모리 조정

J2SE 버전 5를 사용하여 Instant Messaging 서버를 실행하십시오. 더 우수한 성능을 제공할 뿐만 아니라 인체 공학적 기능을 지원하므로 명령줄을 조정할 필요가 없습니다. 이 Java 버전 사용에 관한 자세한 내용은 다음 문서에서 찾을 수 있습니다.

Instant Messaging 서버는 iim.confiim.jvm.maxmemorysize 매개 변수를 사용하여 할당할 JVM 힙의 최대 크기를 설정합니다. 이 매개 변수의 기본값은 256MB이지만 대용량 Instant Messaging을 배포하려면 더 많은 메모리가 필요합니다. 서버 풀의 Instant Messaging 서버에 할당할 메모리는 지원해야 하는 동시 활성 사용자 수에 따라 결정됩니다. 서버 풀의 각 Instant Messaging 서버는 각각의 연결된 사용자/활성 사용자가 다음과 같은 일일 사용에 필요로 하는 65KB와 함께 256MB가 필요합니다.

사용자별 추가 로드, 뉴스나 파일 전송과 같은 추가 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)

iim_server.threadpool.aaa.capacity

aaa라는 스레드풀 용량

10 * maxthreads(aaa) 

표 3 Instant Messaging에 대해 정의된 스레드 풀

이름 

용도 

s2s-in 

모든 서버-서버 인바운드 통신. 포트에서 서버-서버가 허용된 경우 이 스레드 풀이 사용됩니다.  

s2s-out 

모든 서버-서버 아웃바운드 통신. 포트에서 서버-서버가 허용된 경우 이 스레드 풀이 사용됩니다.  

s2s 

모든 서버-서버 통신. s2s-in 및 s2s-out의 조합입니다. 

정의된 스레드 풀은 서비스 포트 구성에서 설명한 대로 연관된 서버 전용 서비스 포트에서 지정 및 사용할 수 있습니다.

스레드 풀 용량이 초과되면 표준 오류 메시지가 출력됩니다. Instant Messaging 서버는 요청 수가 스레드 풀의 용량 값보다 낮아질 때까지 스레드 풀에 대한 추가 요청을 허용하지 않습니다. 서버 풀 환경에서 이와 같은 상황이 발생하면 다음을 수행해야 할 수 있습니다.


예 1 정의된 스레드 풀을 사용하여 Instant Messaging의 서버-서버 인바운드 통신에 대해 5개의 스레드 예약하기


!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 

포트의 수신 또는 송신 버퍼 크기를 조정하여 서비스 포트의 처리 속도를 향상시킬 수 있습니다.


예 2 Instant Messaging에 대한 서비스 포트 구성


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 

Instant Messaging에 대한 가비지 컬렉션 조정

(발행 번호: 6279277) 1.4.2 및 1.5 버전에서의 가비지 컬렉션에 대한 JRE 처리 방식이 달라 서버 호스트에서 1.4.2 버전으로 기본 가비지 수집기를 사용할 때 성능이 다소 저하될 수 있습니다. 이 문제를 해결하기 위해 JRE를 1.5 버전으로 업그레이드하거나 서버 호출 시 다음 명령줄 옵션을 포함할 수 있습니다.


-XX:+UseParallelGC

JRE 가비지 컬렉션에 대한 자세한 내용은 다음을 참조하십시오.