Sun Java System Messaging Server 6 2005Q4 관리 설명서

추가 풀을 추가하는 예

Job Controller는 메일 전달을 위해 채널 작업을 작성 및 관리합니다이러한 채널 작업은 Job Controller 내의 처리 풀 안에서 실행됩니다. 풀은 채널 작업이 실행되는 “장소”로 생각할 수 있습니다. 풀은 작업 세트가 풀 외부의 작업과 자원을 놓고 경쟁하지 않고도 작동할 수 있는 컴퓨팅 영역을 제공합니다. job_controller에서 설정된 작업 제한이 해당 풀에만 적용된다는 점을 유의하십시오. 따라서, 예를 들어 job_limit가 10으로 설정된 SMTP_POOL을 정의할 경우 특정 시점에 10개의 tcp_smtp 클라이언트 프로세스만 해당 풀에서 실행될 수 있습니다.

경우에 따라서는 추가 tcp_* 채널을 만드는 것이 필요할 수 있습니다(예: 특히 느린 메일 사이트를 위한 tcp 채널). 이러한 채널은 다른 풀에서 실행하는 것이 좋습니다. 이는 예를 들어, 10개의 다른 tcp_* 채널을 만들어 SMTP_POOL에서 모두 실행할 경우 특정 시점에 각 tcp_* 채널에 대해 하나의 tcp_smtp 클라이언트만 실행될 수 있기 때문입니다(job_limit10SMTP_POOL을 정의한 경우에 해당하며 메일이 모든 tcp_* 채널을 대상으로 하는지 여부에 따라 달라짐). 시스템의 로드량이 많고 다양한 tcp_* 채널로 나가길 기다리는 메일을 모든 대기열이 갖고 있다고 가정하면 이는 비효율적입니다. 이러한 경우에는 경합이 발생하지 않도록 추가 tcp_* 채널에 대한 추가 풀을 정의할 수 있습니다.

예를 들어, 다음 tcp_* 채널을 설정한다고 가정해 봅니다.


tcp_yahoo smtp mx pool yahoo_pool keyword keyword keyword
tcp-yahoo-daemon

tcp_aol smtp mx keyword keyword keyword pool aol_pool
tcp-aol-daemon

tcp_hotmail smtp mx pool hotmail_pool keyword keyword keyword 
tcp-hotmail-daemon
...
tcp_sun smtp mx pool sun_pool keyword keyword keyword
tcp-sun-daemon

각각의 새 채널에 대해 10개의 tcp_smtp_client 프로세스를 추가하기 위해 job_controller.cnf 파일에 다음을 추가할 수 있습니다.


[POOL=yahoo_pool]
job_limit=10

[POOL=aol_pool]
job_limit=10

[POOL=hotmail_pool]
job_limit=10

 ...

[POOL=sun_pool]
job_limit=10

풀에 대한 자세한 내용은 채널 실행 작업의 처리 풀을 참조하십시오. Sun Java System Messaging Server 6 2005Q4 Administration Reference를 참조하십시오.

표 10–6 Job Controller 구성 파일 옵션

옵션 

설명 

일반 옵션 

설명 

INTERFACE_ADDRESS=adapter

Job Controller가 바인드해야 하는 IP 주소 인터페이스를 지정합니다. 지정된 값(어댑터)은 ANY, ALL, LOCALHOST 또는 IP 주소 중 하나가 될 수 있습니다. 기본적으로 Job Controller는 모든 주소에 바인드됩니다(ALL 또는 ANY를 지정하는 것과 동일). INTERFACE_ADDRESS=LOCALHOST를 지정하면 Job Controller는 로컬 시스템 내의 연결만 수락합니다. 이 경우 Job Controller에 의해 지원되는 시스템 간 작업이 없이 때문에 정상적인 작업에 영향을 주지 않습니다. 그러나 이 지정은 Job Controller의 응답 여부를 HA 에이전트가 검사할 수 있는 HA 환경에서는 적합하지 않을 수 있습니다. Messaging Server가 실행 중인 시스템이 HA 환경에 있으며 “내부 네트워크” 어댑터 및 “외부 네트워크” 어댑터가 사용 중이고 높은 포트 번호에 대한 연결을 방화벽에서 차단할 수 있는지 확실하지 않을 경우, “내부 네트워크” 어댑터의 IP 주소를 지정하는 것을 고려해야 합니다.

MAX_MESSAGES=integer

Job Controller는 메일에 대한 정보를 메모리 내장 구조에서 유지합니다. 대량의 백로그가 작성될 경우에 대비하여 이 구조의 크기를 제한해야 할 수 있습니다. 백로그의 메일 수가 여기에서 지정된 매개 변수를 초과할 경우 후속 메일에 대한 정보를 메모리에 저장되지 않습니다. 메일 메시지는 항상 디스크에 기록되므로 손실되지 않지만 Job Controller가 알고 있는 메일 수가 이 숫자의 절반으로 줄어들 때까지 메일 전달이 고려되지 않습니다. 이 시점에서 Job Controller는 imsimta cache -sync 명령을 모방하는 대기열 디렉토리의 스캔을 수행합니다.

기본값은 100000입니다. 

SECRET=file_spec

Job Controller로 보내진 요청을 보호하는 데 사용되는 공유 비밀입니다. 

SYNCH_TIME=time_spec

Job Controller는 가끔씩 디스크상의 대기열 파일을 스캔하여 누락된 파일을 검사합니다. 기본적으로 이 작업은 Job Controller가 시작되고 4시간 후부터 4시간마다 수행됩니다. time_spec의 형식은 HH:MM/hh:mm 또는 /hh:mm입니다. 변수 hh.mm은 이벤트 사이의 간격을 나타내는 시간(h)과 분(m)입니다. 변수 HH:MM은 이벤트가 처음 발생해야 하는 시간입니다. 예를 들어, 15:45/7:15는 15시 45분에 이벤트를 시작하고 그 이후부터 7시간 15분마다 이벤트를 반복합니다.

TCP_PORT=integer

Job Controller가 요청 패킷을 수신해야 하는 TCP 포트를 지정합니다. 기본값이 시스템의 다른 TCP 응용 프로그램과 충돌하지 않을 경우 이 옵션을 변경하지 않습니다. 이 옵션을 변경할 경우 MTA 조정 파일 msg_svr_base/config/imta_tailor에서 해당 IMTA_JBC_SERVICE 옵션을 변경하여 일치시켜야 합니다. TCP_PORT 옵션은 전역적으로 적용되며 [CHANNEL] 또는 [POOL] 섹션에 있을 경우 무시됩니다.

풀 옵션

설명

JOB_LIMIT=integer

풀이 동시에(병렬로) 사용할 수 있는 최대 프로세스 수를 지정합니다. JOB_LIMIT는 각 풀에 개별적으로 적용되므로 작업의 최대 총 개수는 모든 풀의 JOB_LIMIT 매개 변수를 더한 값입니다. 이 옵션은 기본적으로 섹션 외부에 설정된 경우 JOB_LIMIT를 지정하지 않는 모든 [POOL] 섹션에 사용됩니다. [CHANNEL] 섹션 안에 있을 경우 이 옵션은 무시됩니다.

채널 옵션

설명

MASTER_COMMAND=file_spec

채널을 실행하고 해당 채널에 대한 아웃바운드 메일을 대기열에서 제외시키기 위해 Job Controller가 작성한 UNIX 시스템 프로세스에 의해 실행되는 명령의 전체 경로를 지정합니다. 이 옵션은 기본적으로 섹션 외부에 설정된 경우 MASTER_COMMAND를 지정하지 않는 모든 [CHANNEL] 섹션에 사용됩니다. [POOL] 섹션 안에 있을 경우 이 옵션은 무시됩니다.

MAX_LIFE_AGE=integer

채널 마스터 작업의 최대 수명 시간을 초 단위로 지정합니다. 채널에 이 매개 변수가 지정되지 않은 경우 전역 기본값이 사용됩니다. 기본값이 지정되지 않은 경우 1800(30분)이 사용됩니다. 

MAX_LIFE_CONNS=integer

최대 수명 매개 변수 외에 메일이 있는지 Job Controller에 물어볼 수 있는 횟수에 따라 채널 마스터 작업의 기대 수명이 제한됩니다. 채널에 이 매개 변수가 지정되지 않은 경우 전역 기본값이 사용됩니다. 기본값이 지정되지 않은 경우 300이 사용됩니다. 

SLAVE_COMMAND=file_spec

채널을 실행하고 해당 채널에 대한 모든 인바운드 메일을 폴하기 위해 Job Controller가 작성한 UNIX 시스템 프로세스에 의해 실행되는 명령의 전체 경로를 지정합니다. 대부분의 MTA 채널은 SLAVE_COMMAND를 갖지 않습니다. 이러한 경우 예약된 값 NULL을 지정해야 합니다. 이 옵션은 기본적으로 섹션 외부에 설정된 경우 SLAVE_COMMAND를 지정하지 않는 모든 [CHANNEL] 섹션에 사용됩니다. [POOL] 섹션 안에 있을 경우 이 옵션은 무시됩니다.