在管理要求處理期間所產生的統計資料

「管理程序」會記錄統計資料來協助您監視管理程序作業的要求處理活動。

已排程要處理的所有管理程序要求是源自「管理要求」資料庫(ADMIN4.NSF)。根據要求的類型及排程而定,會定期從 ADMIN4.NSF 擷取要求,並將要求暫時儲存在各種 ID 表格中。它們會繼續保留在 ID 表格中,直到開始根據排程處理特定要求。統計資料是在其中每一個 ID 表格中維護,以提供 ID 表格用法的意見,以及「管理程序」工作量的指示。這些統計資料參照的所有 ID 表格包含將處理的管理程序要求的 NoteID。

一旦管理要求已適當地分類成適當的 ID 表格,就可以處理它們。在適當的排程時間中,它們將置於其中一個可用的訊息佇列上。類似於針對 ID 表格維護的統計資料,會維護每一個訊息佇列的統計資料,以提供訊息佇列用法的意見。

也會提供第三個統計資料群組,以提供要求處理時間的意見給「管理程序」批次要求。

這些統計資料會分成下列三個區域:

1. 「管理程序」作業的統計資料

「管理程序」作業的統計資料

對應的統計資料標題

要求 ID 表格監視

ADMINP.RequestIDTables

要求訊息佇列作業

ADMINP.ReqMsgQueue

批次要求處理

ADMINP.BatchReqProcessing

這些統計資料是為了代表「管理程序」活動指示而提供。統計資料實際上不會提供監視進度的方法。例如,檢閱統計資料後發現其中任一個訊息佇列有大量「等待中」統計資料,這表示所有要求處理執行緒正忙於執行長時間執行的要求,因此「管理程序」可能需要進行一些重新配置。例如,您可能需要新增其他處理執行緒或配置專用執行緒。

集合表格

集合表格是依排程時間再依要求類型來分隔。對於要求。A這些 ID 表格包含管理程序要求的 NoteID。對於每一個新增至集合表格的 NoteID。A將更新 TotalCount 統計資料。TotalCount 指出曾經在集合表格中儲存的 NoteID 總數。例如,

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

第二個統計資料也是針對每一個 ID 表格維護的,代表目前儲存在「等待中」表格的 NoteID 數目。

下列範例顯示「要求 ID 表格」監視的「集合」區段中的可能統計資料。這個範例只包括 Immediate (立即) 及 間隔 (間隔) 要求。

  • Immediate (ADMINP.RequestIdTables.CollectionTables.Immediate)

    AllServer

    DirectoryOneDoc

    DirectoryManyDoc

    ModifyACL

    ModifyDesignElement

    ModifyUnreadList

    ModifyReaderAuthor

    ModifyPersonDoc

  • 間隔 (ADMINP.RequestIdTables.CollectionTables.間隔)

    AllServer

    DirectoryOneDoc

    DirectoryManyDoc

    ModifyACL

    ModifyDesignElement

    ModifyUnreadList

    ModifyReaderAuthor

    ModifyPersonDoc

其中每一個統計資料都包含 TotalCount 及 Waiting 的統計資料。例如:

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

ADMINP.RequestIdTables.CollectionTables.間隔.DirectoryOneDoc.TotalCount = 1

BatchRequest 表格

當開始處理該要求排程時,集合表格會切換至另一個群組的 ID 表格(BatchRequest ID 表格)。BatchRequest ID 表格包含將由批次處理要求處理的 NoteID 群組。這些表格是用來分組批次要求或利用常用排程類型來分組要求。若為 BatchRequest ID 表格,表格仍會保留原狀直到相關的批次要求正在執行,並清空表格。以下顯示 BatchRequest 統計資料的範例:

ADMINP.RequestIdTables.BatchRequest

BatchedRequest ID 表格中儲存的 NoteID 是特殊案例。觸發要求會併入在其中一個 PrimaryTables。A以啟動批次要求。然後實際的要求處理將參閱適當的 BatchRequest 表格,以取得哪些要求需要處理的進一步資訊。

SecondaryRequest 表格

也有一個 ID 表格 (稱為 SecondaryRequest 表格) 的群組。SecondaryRequest 表格是較少使用的排程類型的集合區域,例如計時要求、協力廠商要求、快速重試要求,以及其他要求。以下顯示 SecondaryRequest 統計資料的範例

ADMINP.RequestIdTables.SecondaryRequest

PrimaryRequest 表格

除了 BatchRequest 表格中儲存的要求外,所有要求最終都將流過 PrimaryRequest 表格,這些表格是要求在排程處理前的最後一個短期儲存體位置。以下顯示 PrimaryRequest 統計資料的範例:

ADMINP.RequestIdTables.PrimaryRequest

2. 主要要求表格

主要要求表格

說明及範例統計資料

Immediate 表格

包含所有排程立即處理的要求

ADMINP.RequestIdTables.PrimaryRequest.Immediate

間隔 表格

包含所有排程「間隔」處理的要求

ADMINP.RequestIdTables.PrimaryRequest.間隔

General 表格

包含所有 Immediate 或 間隔 表格中不包括的要求,其中包括任何儲存在 SecondaryRequest 表格的要求

ADMINP.RequestIdTables.PrimaryRequest.General

每一個 NoteID 是從 PrimaryRequest 表格移除,並置於要求排程的下一個階段。先從 Immediate 表格,接著從 間隔 表格,最後從 General 表格擷取要求。這確保維護要求排程的緊急性。一旦完成擷取,要求便會包裝並儲存在「要求訊息佇列」中。

要求訊息佇列

「要求訊息佇列」會饋送要求處理執行緒。當有一個要處理的要求時,分派執行緒將在訊息佇列上放置要求訊息,並標示有工作要執行的要求處理執行緒。要求處理執行緒接受訊息並相應地處理要求。當訊息置於訊息佇列時,便會更新統計資料並記錄時間戳記。從訊息佇列移除訊息時,也會更新統計資料,並使用時間戳記,判定訊息置於佇列的時間長度。有四個將由處理執行緒監視的訊息佇列。FImmediate、間隔、General Purpose 及 Poll。

  • ADMINP.ReqMsgQueue.Immediate
  • ADMINP.ReqMsgQueue.間隔
  • ADMINP.ReqMsgQueue.GeneralPurpose
  • ADMINP.ReqMsgQueue.Poll respectively

Poll 訊息佇列及 Poll 執行緒只專用於郵件原則管理。

只在已配置特殊用途執行緒來處理 Immediate 排程要求時,Immediate 訊息佇列才會存在。當 Immediate 訊息佇列存在時。A所有指向 Immediate 排程的要求將置於這個執行緒上。任何閒置處理執行緒將在移至下一個訊息佇列前檢查 Immediate 訊息佇列。

只在已配置特殊用途執行緒來處理 間隔 排程要求時,間隔 訊息佇列才會存在。當 間隔 訊息佇列存在時。A所有指向 間隔 排程的要求將置於這個執行緒上。任何閒置處理執行緒將檢查 Immediate 訊息佇列 (如果存在)。A接著將檢查 間隔 訊息佇列。A找出要處理的要求。

General Purpose 訊息佇列會處理任何排程類型,但是如果特殊用途執行緒位於適當的位置,則 General Purpose 訊息佇列是在尋找要執行的工作時最後一個檢查的佇列。

來自 Domino® 伺服器主控台的 ReqMsgQue 統計資料的範例:

ADMINP.ReqMsgQueue.間隔.AverageWaitTime = 0 Hours 0 Minutes 0 Seconds
ADMINP.ReqMsgQueue.間隔.TotalCount = 1
ADMINP.ReqMsgQueue.間隔.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