These statistics are only available when the
--showThreading
flag is enabled.
========================================================================= == Threading/Queueing Information ========================================================================= ----- Queued Requests ----- Number of Requests: 3 (0.040%) Avg Response Time (ms): 8598.690 Avg Engine Time (ms): 0.000 Avg Response Size (bytes): 0.000 Request Times over 1250 ms: 2 (66.667%) Engine Times over 750 ms: 0 (0.000%) ----- Requests that encountered no queue ----- Number of Requests: 7513 (99.960%) Avg Response Time (ms): 313.060 Avg Engine Time (ms): 144.244 Avg Response Size (bytes): 19739.288 Request Times over 1250 ms: 258 (3.434%) Engine Times over 750 ms: 240 (3.194%) ----- Engine Queue Length ----- Requests Analyzed: 7516 Average: 3.991 Standard Deviation: 1.734 Maximum: 8 Minimum: 0 Over Threshold (5): 3 (0.040%) ----- Idle Engine Threads ----- Requests Analyzed: 7516 Average: 1.996 Standard Deviation: 0.075 Maximum: 2 Minimum: 0
This section displays information about the performance and behavior of
a multithreaded MDEX Engine. A multithreaded MDEX Engine is able to process N
requests simultaneously, where N is the number of threads specified using the
--threads
dgraph flag. As requests are received by the
MDEX Engine, they are either handled immediately by an available engine thread
or placed into the request queue and handled on a first-come-first-serve basis
as MDEX Engine threads become available.
This section is only valid for multithreaded MDEX Engines. MDEX Engines
that do not specify the
--threads
flag do not record the appropriate information
to their logs and therefore will not produce usable statistics for this
section.
The following statistics are output within this section:
Queued Requests: this statistic measures performance of those requests that were placed into the request queue before being processed.
Requests that encountered no queue: this statistic measures performance of those requests that were handled immediately by an available thread and were not placed into the request queue.
Engine Queue Length: this metric measures the length of the request queue. When engine threads are available, the queue length is 0. When all threads are in use, the queue length is equivalent to the number of requests already in the queue ahead of the current request. The minimum value for this metric should always be zero and is therefore not interesting.
Idle Engine Threads: this metric measures the number of available engine threads. When engine threads are available, this number is equivalent to the number of available threads. When all threads are in use, this number is 0. The maximum value for this metric should always be equivalent to the total number of threads specified with the --threads flag and is therefore not interesting. If at any point a request encounters a queue, the minimum value for this metric will be zero.
Note that requests to the MDEX Engine that generate a 404 error code arbitrarily write the value 10000 to the MDEX Engine log as their queue length. The Request Log Analyzer always completely ignores these requests when calculating queue lengths, though for other metrics these requests are controlled by the --ignore* flags. Because the Request Log Analyzer always ignores these requests, the statistics that track queued and unqueued requests will not add up to 100% in certain circumstances: if the appropriate --ignore* flags are not specified, the percentages will represent only the subset of those requests that did not contain a 10000 as their queue length.