In Web Server, a connection is first accepted by acceptor threads associated with the HTTP listener. The acceptor threads accept the connection and put it into the connection queue. Then, request processing threads take the connection in the connection queue and process the request. For more information, see Connection-Handling Overview.
Connection queue information shows the number of sessions in the connection queue, and the average delay before the connection is accepted by the request processing thread.
The following is an example of how these statistics are displayed in perfdump:
ConnectionQueue: ----------------------------------------- Current/Peak/Limit Queue Length 0/1853/160032 Total Connections Queued 11222922 Average Queue Length (1, 5, 15 minutes) 90.35, 89.64, 54.02 Average Queueing Delay 4.80 milliseconds
The same information is displayed in a different format through the Admin Console or command-line interface, with some slight differences. The following table shows the information displayed in the Admin Console when accessing monitoring information for the server instance:
Table 2–2 Connection Queue Statistics
Present Number of Connections Queued |
0 |
Total Number of Connections Queued |
11222922 |
Average Connections Over Last 1 Minute |
90.35 |
Average Connections Over Last 5 Minutes |
89.64 |
Average Connections Over Last 15 Minutes |
54.02 |
Maximum Queue Size |
160032 |
Peak Queue Size |
1853 |
Number of Connections Overflowed |
0 |
Ticks Spent |
5389284274 |
Total Number of Connections Added |
425723 |
Current/Peak/Limit queue length shows, in order:
The number of connections currently in the queue.
The largest number of connections that have been in the queue simultaneously.
The maximum size of the connection queue. This number is:
Maximum Queue Size = Thread Pool Queue Size + Maximum Threads + Keep-Alive Queue Size
Once the connection queue is full, new connections are dropped.
If the peak queue length, also known as the maximum queue size, is close to the limit, you can increase the maximum connection queue size to avoid dropping connections under heavy load.
You can increase the maximum connection queue size in the Admin Console by changing the value of the thread pool Queue Size field on the configuration's Performance tab ⇒ HTTP sub tab. The default is selected based on the total number of available file descriptors in the system.
To change the queue size using the command-line interface, use the wadm set-thread-pool-prop command's queue-size property.
Total Connections Queued is the total number of times a connection has been queued. This number includes newly-accepted connections and connections from the keep-alive system.
This setting is not tunable.
The Average Queue Length shows the average number of connections in the queue over the most recent one-minute, five-minute, and 15–minute intervals.
This setting is not tunable.
The Average Queueing Delay is the average amount of time a connection spends in the connection queue. This represents the delay between when a request connection is accepted by the server and when a request processing thread begins servicing the request. It is the Ticks Spent divided by the Total Connections Queued, and converted to milliseconds.
This setting is not tunable.
A tick is a system-dependent value and provided by the tickPerSecond attribute of the server element in stats.xml. The ticks spent value is the total amount of time that connections spent in the connection queue and is used to calculate the average queuing delay.
This setting is not tunable.
The new connections added to the connection queue. This setting is not tunable.