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

imsimta counters

MTA는 메일 모니터링 MIB, RFC 1566에 기초하여 각 활성 채널에 대한 메일 트래픽 카운터를 증가시킵니다. 채널 카운터는 전자 메일 시스템의 추세와 상태를 나타내는 데 도움을 줍니다. 채널 카운터는 메일 트래픽의 정확한 계산을 제공하도록 설계되지는 않았습니다. 정확한 계산을 보려면 21 장, 로깅 관리에 설명된 대로 MTA 로깅을 확인합니다.

MTA 채널 카운터는 사용 가능한 최소 경량 기법을 사용하여 구현되므로 가능한 한 실제 작업에 미치는 영향이 최소화됩니다. 채널 카운터는 그 이상을 시도하지 않습니다. 즉, 섹션을 매핑하려는 시도가 실패할 경우 정보가 기록되지 않고 섹션의 잠금 중 하나를 거의 즉각적으로 얻을 수 없을 경우 정보가 기록되지 않으며 시스템이 종료할 경우 메모리 내장 섹션에 포함된 정보가 영원히 손실됩니다.

imsimta counters -show 명령은 MTA 채널 메일 통계(아래 참조)를 제공합니다. 시간이 지나면 최소값에 주의하면서 이러한 카운터를 검사해야 합니다. 일부 채널의 경우 최소값은 실제로 음수일 수 있습니다. 음수 값은 카운터가 0이 되었을 때(클러스터 전반의 카운터 데이터베이스 작성 시) 채널에 대해 대기 중인 메일이 존재했다는 것을 의미합니다. 이러한 메일이 대기열에서 빠지면 채널의 관련 카운터가 감소하므로 결과적으로 음수 최소값이 생성됩니다. 이러한 카운터의 경우 올바른 “절대값”은 초기화 이후부터 카운터가 지니고 있는 최소값이 아니라 현재 값입니다.


Channel          Messages    Recipients    Blocks 
-------          --------    ----------    ------- 
tcp_local
   Received       29379       79714      982252                (1)
   Stored            61         113       -2004                (2)
   Delivered      29369       79723      983903 (29369 first time)  (3)
   Submitted      13698       13699       18261                (4)
   Attempted          0           0           0                (5)
   Rejected           1          10           0                (6)
   Failed           104         104        4681                (7)

   Queue time/count        16425/29440 = 0.56                  (8)
   Queue first time/count  16425/29440 = 0.56                  (9)

   Total In Assocs           297637
   Total Out Assocs           28306

1) Receivedtcp_local이라는 채널의 대기열에 포함된 메일 수입니다. 즉, 다른 채널에 의해 tcp_local의 대기열에 포함된 메일(mail.log* 파일의 E 레코드)입니다.

2) Stored는 채널 대기열에 저장된 전달할 메일 수입니다.

3) Deliveredtcp_local 채널에 의해 처리된(대기열에서 제외된) 메일 수입니다. 즉, mail.log* 파일의 D 레코드입니다. 대기열에서 제외하는 작업은 성공적인 전달(즉, 다른 채널의 대기열에 포함)에 해당하거나 보낸 사람에게 반송되는 메일로 인한 작업에 해당할 수 있습니다. 일반적으로 이 값은 Received에서 Stored를 뺀 숫자입니다.

MTA는 또한 처음 시도할 때 대기열에서 제외된 메일 수를 추적하며 이 수는 괄호로 표시됩니다.

4) Submittedtcp_local 채널에 의해 다른 채널의 대기열에 포함된 메일 수(mail.log 파일의 E 레코드)입니다.

5) Attempted는 대기열에서 빼는 도중에 일시적인 문제를 경험한 메일 수(즉, mail.log* 파일의 Q 또는 Z 레코드)입니다.

6) Rejected는 시도된 대기열에 포함 작업 중에서 거부된 작업 수(즉, mail.log* 파일의 J 레코드)입니다.

7) Failed는 시도된 대기열에서 빼기 작업 중에서 실패한 작업 수(즉, mail.log* 파일의 R 레코드)입니다.

8) Queue time/count는 전달된 메일이 대기열에 있는 평균 시간입니다. 여기에는 처음 시도에서 전달된 메일((9) 참조)과 추가 전달 시도가 필요했던 메일(대기열에 여유 공간이 생길 때까지 오랜 시간을 기다린 메일)이 모두 포함됩니다.

9) Queue first time/count는 처음 시도에서 전달된 메일이 대기열에 있는 평균 시간입니다.

제출된 메일 수가 전달된 메일 수보다 많을 수 있다는 것을 유의하십시오. 이것은 채널이 대기열에서 제외하는(전달하는) 각 메일이 대기열에 포함되는(제출되는) 최소한 하나 이상의 새 메일이 되기 때문에 흔히 발생하는 일입니다. 예를 들어, 메일에 다른 채널을 통해 도달하는 두 명의 수신자가 있는 경우 대기열에 포함 작업은 두 개가 필요합니다. 또는 메일이 바운스될 경우 복사본 하나가 보낸 사람에게 되돌아가고 다른 복사본 하나가 포스트마스터에게 보내질 수 있습니다. 이 경우 일반적으로 제출 작업은 두 개가 될 것입니다(두 복사본이 동일한 채널을 통해 도달하지 않을 경우).

SubmittedDelivered 간의 연결은 채널 유형에 따라 바뀌는 것이 더 일반적입니다. 예를 들어, 변환 채널에서는 메일이 일부 다른 임의 채널에 의해 대기열에 포함되고 나면 변환 채널이 해당 메일을 처리하여 또 다른 채널의 대기열에 포함시킨 다음 자신의 대기열에서 제외되었다는 것을 메일에 표시합니다. 각 개별 메일은 다음 경로를 가집니다.

elsewhere -> conversion E record Received
conversion -> elsewhere E record Submitted
conversion              D record Delivered

그러나 “pass through,”가 아니라 두 개의 개별 부분(슬레이브 및 마스터)을 가지는 tcp_local과 같은 채널의 경우 SubmittedDelivered 사이에 연결이 없습니다. Submitted 카운터는 tcp_local 채널의 SMTP 서버 부분과 관련되며 Delivered 카운터는 tcp_local 채널의 SMTP 클라이언트 부분과 관련됩니다. 이들은 완전히 별개인 두 개의 프로그램이며 각각을 통과하는 메일이 완전히 다를 수 있습니다.

SMTP 서버로 제출되는 메일:

tcp_local -> elsewhere E record Submitted

SMTP 클라이언트를 통해 다른 SMTP 호스트로 보내지는 메일:

elsewhere -> tcp_local E record Received
tcp_local              D record Delivered

채널이 대기열에서 제외하는(전달하는) 메일은 대기열에 포함되는(제출되는) 최소한 하나 이상의 새 메일이 됩니다. 예를 들어, 메일에 다른 채널을 통해 도달하는 두 명의 수신자가 있는 경우 대기열에 포함 작업은 두 개가 필요합니다. 또는 메일이 바운스될 경우 복사본 하나가 보낸 사람에게 되돌아가고 다른 복사본 하나가 포스트마스터에게 보내질 수 있습니다. 이 경우에는 일반적으로 두 복사본이 동일한 채널을 통해 도달할 것입니다.

UNIX 및 NT에서의 구현

성능상의 이유로 인해 MTA를 실행하는 노드는 공유 메모리 섹션(UNIX) 또는 공유 파일 매핑 객체(NT)를 사용하여 채널 카운터 캐시를 메모리에서 유지합니다. 노드의 프로세스가 대기열에서 메일을 포함시키거나 제외시킬 때 이 메모리 내장 캐시의 카운터가 업데이트됩니다. 채널이 실행될 때 내장 메모리 섹션이 존재하지 않을 경우 이 섹션은 자동으로 만들어집니다. (또한 내장 메모리 섹션이 존재하지 않을 경우 imta start 명령은 이 섹션을 만듭니다.)

imta counters -clear 또는 imta qm counters clear 명령을 사용하면 카운터를 0으로 재설정할 수 있습니다.