ADMINISTRATION TOOLS
Once the administration requests have been properly categorized into the appropriate ID tables, they are available for processing. At the appropriate scheduled time they will be placed onto one of a number of available message queues. Similar to statistics maintained for ID tables, statistics are maintained for each message queue to provide feedback on message queue usage.
A third group of statistics is also provided to provide feedback on request processing times for Administration Process batched requests.
These statistics are separated into the following three areas:
Collection tables
Collection tables are separated by schedule time and then by request types. These ID tables contain the administration process request's NoteID for the request. For each NoteID added to a collection table, a TotalCount statistic is updated. TotalCount indicates the total number of NoteIDs that have ever been stored in the collection table. For example,
An example of the potential statistics in the Collection section of Request ID Table monitoring are shown below. The example includes only Immediate and Interval requests.
Immediate (ADMINP.RequestIdTables.CollectionTables.Immediate)
DirectoryOneDoc
DirectoryManyDoc
ModifyACL
ModifyDesignElement
ModifyUnreadList
ModifyReaderAuthor
ModifyPersonDoc
ADMINP.RequestIdTables.CollectionTables.Interval.DirectoryOneDoc.TotalCount = 1
Collection tables transition to another group of ID tables, BatchRequest ID tables, when it is time to process that schedule of requests. BatchRequest ID tables contain the group of NoteIDs that will be handled by the batch processing request. These tables are used to group batched requests or to group requests with a common schedule type. For BatchRequest ID tables, the table remains as is until the associated batch request is executing and empties the table. An example of the BatchRequest statistic is shown here:
SecondaryRequest tables
There is also a group of ID tables called SecondaryRequest tables. SecondaryRequest tables are collection areas for less common schedule types such as timed requests, third party requests, quick retry requests, and others. An example of the SecondaryRequest statistic is shown here
With the exception of the requests stored in the BatchRequest tables, all requests eventually flow through the PrimaryRequest tables which are the last short term storage location for the request prior to being scheduled for processing. An example of the PrimaryRequest statistic is shown here:
ADMINP.RequestIdTables.PrimaryRequest.Immediate
ADMINP.RequestIdTables.PrimaryRequest.Interval
ADMINP.RequestIdTables.PrimaryRequest.General
Request Message Queues
Request Message Queues feed the request processing threads. When there is a request to process, the dispatching thread places a request message on the message queue and signals the request processing thread that there is work to be performed. The request processing thread accepts the message and processes the request accordingly. As messages are placed on the message queue a statistic is updated and a time stamp is recorded. As messages are removed from the message queue the statistic is also updated and the time stamp is used to determine the length of time the message was queued. There are four message queues being monitored by the processing threads; Immediate, Interval, General Purpose, and Poll.
The Immediate message queue only exists if special purpose threads have been configured to handle Immediate schedule requests. When the Immediate message queue exists, all requests targeted for immediate scheduling are placed on this thread. Any idle processing thread will check the immediate message queue before moving on to the next message queue.
The Interval message queue only exists if special purpose threads have been configured to handle Interval schedule requests. When the Interval message queue exists, all requests targeted for Interval scheduling are placed on this thread. Any idle processing thread will check the immediate message queue (if it exists), and then the interval message queue for requests to process.
The General purpose message queues handle any scheduling type, but if special purpose threads are in place the general purpose message queue is the last queue to check when looking for work to perform.
Examples of ReqMsgQue statistics from the Domino server console:
ADMINP.ReqMsgQueue.Interval.TotalCount = 1
ADMINP.ReqMsgQueue.Interval.Waiting = 0
Batch Request Processing
For each batch request, a statistic is maintained to monitor the maximum time to process the batch, and the average time to processes the batch.
Examples with processing time statistic from the Domino server console:
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