관리 요청 처리 과정에서 생성된 통계

관리 프로세스는 관리 프로세스 태스크의 요청 처리 활동을 모니터하기 위해 통계를 기록합니다.

처리하도록 예약된 모든 관리 프로세스 요청은 Administration Requests 데이터베이스(ADMIN4.NSF)에서 발생합니다. 요청은 요청 유형과 스케줄에 따라 ADMIN4.NSF에서 정기적으로 검색하여 여러 ID 테이블에 임시로 저장됩니다. 이러한 요청은 일정에 따라 특정 요청을 처리하는 시점까지 ID 테이블에 남아 있습니다. 각 ID 테이블에 대한 통계는 유지관리되어 관리 프로세스 워크로드 표시뿐만 아니라 ID 테이블 사용 통계에 대한 피드백을 제공하는 데 사용됩니다. 이러한 통계로 참조되는 모든 ID 테이블에는 처리할 관리 프로세스 요청의 NoteID가 포함됩니다.

관리 요청이 적합한 ID 테이블로 올바르게 분류되면 처리가 시작됩니다. 예약된 시간이 되면 이러한 요청은 사용 가능한 여러 메시지 큐 중 하나에 배치됩니다. ID 테이블에 대한 통계와 같이 각 메시지 큐에 대한 통계도 유지관리되어 메시지 큐 사용에 대한 피드백을 제공하는 데 사용됩니다.

또한 통계의 세 번째 그룹은 관리 프로세스 일괄 처리 요청의 요청 처리 시간에 대한 피드백을 제공하는 데 사용됩니다.

이러한 통계는 다음 세 가지 영역으로 분류됩니다.

1. 관리 프로세스 태스크에 대한 통계

관리 프로세스 태스크에 대한 통계

통계 이름

Request ID 테이블 모니터링

ADMINP.RequestIDTables

Request Message 큐 처리

ADMINP.ReqMsgQueue

일괄 요청 처리

ADMINP.BatchReqProcessing

이러한 통계는 관리 프로세스 활동을 나타내는 데 제공되지만, 이 통계는 실제로 진행상황을 모니터하는 메소드를 제공하지 않습니다. 예를 들어, 통계를 검토하고 여러 메시지 큐 중 하나에 응답을 기다리는 여러 "Waiting" 통계가 있는 경우에는 모든 요청 처리 스레드가 long-running 요청을 실행하는 사용 중 상태임을 나타내며, 관리 프로세스의 일부를 재구성해야 할 수도 있습니다. 예를 들어, 추가 처리 스레드를 추가하거나 전용 스레드를 구성해야 할 수도 있습니다.

Collection 테이블

Collection 테이블은 예약 시간, 요청 유형 순으로 구분됩니다. 이러한 ID 테이블에는 해당 요청에 대한 관리 프로세스 요청의 NoteID가 포함됩니다. Collection 테이블에 추가되는 각 NoteID의 경우 TotalCount 통계가 업데이트됩니다. TotalCount는 Collection 테이블에 저장된 적이 있는 NoteID의 총 수를 나타냅니다. 예를 들어, 다음과 같습니다.

ADMINP.RequestIdTables.CollectionTables.Daily.DirectoryManyDoc.TotalCount = 40

각 ID 테이블에 대한 두 번째 통계는 "Waiting" 테이블에 현재 저장된 NoteID의 수를 나타냅니다.

다음은 Request ID 테이블 모니터링의 Collection 섹션에 대해 가능한 통계의 예제를 보여줍니다. 이 예에는 Immediate와 Interval 요청만 포함되었습니다.

  • Immediate(ADMINP.RequestIdTables.CollectionTables.Immediate)

    AllServer

    DirectoryOneDoc

    DirectoryManyDoc

    ModifyACL

    ModifyDesignElement

    ModifyUnreadList

    ModifyReaderAuthor

    ModifyPersonDoc

  • Interval(ADMINP.RequestIdTables.CollectionTables.Interval)

    AllServer

    DirectoryOneDoc

    DirectoryManyDoc

    ModifyACL

    ModifyDesignElement

    ModifyUnreadList

    ModifyReaderAuthor

    ModifyPersonDoc

각 통계에는 TotalCount와 Waiting에 대한 통계가 포함됩니다. 예를 들어, 다음과 같습니다.

ADMINP.RequestIdTables.CollectionTables.Immediate.DirectoryOneDoc.Waiting = 0

ADMINP.RequestIdTables.CollectionTables.Interval.DirectoryOneDoc.TotalCount = 1

BatchRequest 테이블

요청 예약을 처리할 시간이 되면 다른 그룹의 ID 테이블(BatchRequest ID 테이블)로 콜렉션 테이블 이동. BatchRequest ID 테이블에는 일괄 처리 요청에 따라 처리될 NoteID 그룹이 포함됩니다. 이러한 테이블은 일괄 처리된 요청을 그룹화하거나 일반적인 스케줄 유형을 가진 요청을 그룹화하는 데 사용됩니다. BatchRequest ID 테이블의 경우, 연관된 일괄 처리 요청이 실행되어 이 테이블이 비워질 때까지 그대로 남아 있습니다. BatchRequest 통계를 보여주는 예는 다음과 같습니다.

ADMINP.RequestIdTables.BatchRequest

BatchedRequest ID 테이블에 저장된 NoteID는 특수한 경우입니다. 트리거 요청은 일괄 처리 요청을 시작할 PrimaryTables 중 하나에 포함됩니다. 그런 다음 실제 요청 처리에서 어떤 요청을 처리할 지에 대한 자세한 정보를 얻기 위해 해당 BatchRequest 테이블을 참조합니다.

SecondaryRequest 테이블

SecondaryRequest 테이블이라는 ID 테이블 그룹이 있습니다. SecondaryRequest 테이블은 시간이 지난 요청, 타사 요청, 빠른 재시도 요청 등과 같이 일반적이지 않은 스케줄 유형에 대한 콜렉션 영역입니다. SecondaryRequest 통계가 표시되는 예는 다음과 같습니다.

ADMINP.RequestIdTables.SecondaryRequest

PrimaryRequest 테이블

BatchRequest 테이블에 저장된 요청을 제외한 모든 요청은 처리 일정이 지정되기 전에 요청에 대한 최종 단기간 저장 위치가 되는 PrimaryRequest 테이블을 통해 최종으로 처리됩니다. PrimaryRequest 통계를 보여주는 예는 다음과 같습니다.

ADMINP.RequestIdTables.PrimaryRequest

2. Primary Request 테이블

Primary Request 테이블

설명 및 샘플 통계

Immediate 테이블

즉시 처리되도록 예약된 모든 요청을 포함합니다.

ADMINP.RequestIdTables.PrimaryRequest.Immediate

Interval 테이블

정기적으로 처리되도록 예약된 모든 요청을 포함합니다.

ADMINP.RequestIdTables.PrimaryRequest.Interval

General 테이블

Immediate 또는 Interval 테이블에 포함되지 않는 모든 요청을 포함합니다. 그리고 SecondaryRequest 테이블에 저장된 모든 요청을 포함합니다.

ADMINP.RequestIdTables.PrimaryRequest.General

PrimaryRequest 테이블에서 NoteID가 제거되고 요청 일정의 다음 단계에 배치됩니다. 먼저 Immediate 테이블에서 요청을 가져온 후, Interval 테이블, General 테이블 순서로 요청을 가져오게 됩니다. 이렇게 하면 요청 일정의 긴급도를 관리할 수 있습니다. 가져온 요청은 패키지로 Request Message 큐에 저장됩니다.

Request Message 큐

Request Message 큐는 요청 처리 스레드를 제공합니다. 처리할 요청이 발생하면 발송 스레드가 요청 메시지를 메시지 큐에 배치하고 수행할 작업이 있음을 알리는 신호를 요청 처리 스레드에 보냅니다. 요청 처리 스레드는 이 메시지를 확인한 다음 적절하게 요청을 처리합니다. 메시지가 메시지 큐에 들어가면 통계가 업데이트되고 시간 스탬프가 기록됩니다. 메시지가 메시지 큐에서 제거될 경우에도 통계가 업데이트되며, 큐에서 처리된 메시지의 시간 길이를 결정하는 데 시간 스탬프가 사용됩니다. 처리 스레드에서 모니터하는 4개의 메시지 큐는 Immediate, Interval, General Purpose 및 Poll입니다.

  • ADMINP.ReqMsgQueue.Immediate
  • ADMINP.ReqMsgQueue.Interval
  • ADMINP.ReqMsgQueue.GeneralPurpose
  • ADMINP.ReqMsgQueue.Poll

Poll 메시지 큐와 Poll 스레드는 메일 정책 관리에만 사용됩니다.

Immediate 메시지 큐는 Immediate 예약 요청을 처리하기 위한 특수 용도의 스레드가 구성된 경우에만 존재합니다. Immediate 메시지 큐가 존재할 경우, 즉시 처리할 모든 요청이 이 스레드에 배치됩니다. 유휴 처리 상태인 스레드를 다음 메시지 큐로 이동시키기 전에 Immediate 메시지 큐를 먼저 확인합니다.

Interval 메시지 큐는 Interval 예약 요청을 처리하기 위한 특수 용도의 스레드가 구성된 경우에만 존재합니다. Interval 메시지 큐가 존재할 경우, 정기적으로 처리될 모든 요청이 이 스레드에 배치됩니다. 유휴 처리 상태인 스레드는 Immediate 메시지 큐가 있을 경우 이 큐를 먼저 확인한 다음, Interval 메시지 큐를 확인하게 됩니다.

General purpose 메시지 큐는 스케줄 유형을 처리하지만, 특수한 용도의 스레드가 있어야 합니다. General purpose 메시지 큐가 수행할 작업을 찾을 때 확인하는 마지막 큐입니다.

Domino® 서버 콘솔의 ReqMsgQue 통계를 보여주는 예는 다음과 같습니다.

ADMINP.ReqMsgQueue.Interval.AverageWaitTime = 0 Hours 0 Minutes 0 Seconds
ADMINP.ReqMsgQueue.Interval.TotalCount = 1
ADMINP.ReqMsgQueue.Interval.Waiting = 0

처리할 요청을 가져오면 장기간 실행 일괄 처리 요청에 대한 통계가 유지됩니다.

일괄 요청 처리

일괄 처리 요청에 대한 각 통계는 일괄 요청을 처리하는 최대 시간과 평균 시간을 모니터하는 데 사용됩니다.

Domino® 서버 콘솔의 처리 시간 통계를 보여주는 예는 다음과 같습니다.

ADMINP.BatchReqProcessing.ModACL.AverageProcTime = 0 Hours 0 Minutes 15 Seconds
ADMINP.BatchReqProcessing.ModACL.MaxProcTime = 0 Hours 0 Minutes 15 Seconds
ADMINP.BatchReqProcessing.ModReaderAuthor.AverageProcTime = 0 Hours 0 Minutes 16 Seconds
ADMINP.BatchReqProcessing.ModReaderAuthor.MaxProcTime = 0 Hours 0 Minutes 16 Seconds