Kbase 21313: What is Webspeed Client Queue Depth?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/8/2008 |
|
Status: Verified
GOAL:
What is Client Queue Depth (cur,max)?
GOAL:
How to interpret Client Queue Depth in "wtbman -q" output?
GOAL:
How does webspeed handles clients requests and queue the request for available agents?
FACT(s) (Environment):
WebSpeed 3.x
FIX:
The client queue depth statistics are supposed to show how many clients are waiting for a server to become available to serve a given request.
The current and maximum queue depths are maintained inside the ubroker
as follows:
- Each WebSpeed agent is connected via a socket
to a thread (called a serverThread) in the broker.
The broker maintains these serverThreads in a pool object
(called the serverPool).
- When a messenger receives a request (from a browser)
it sends a request to the broker asking for the port
number of an "available" agent.
- When the messenger connects to the broker, a separate thread
(called a clientThread) is allocated to the connection.
- When the request is received by the client thread, it tries
to get an "available" serverThread from the serverPool.
If none are available, it registers itself into a queue
of waiting clients (the clientQueue).
- The serverPool bookkeeps the maximum length of this
queue as each clientThread is added.
When the WebSpeed status page is generated, the broker examines the
current and maximum lengths of the clientQueue, and reports accordingly.