Threads, Processes and Connections
Threads, Processes and Connections
In Enterprise Server 6.1, acceptor threads on a listen socket accept connections and
put them onto a connection queue. Session threads then pick up connections from
the queue and service the requests. The session threads post more session threads if
required at the end of the request. The policy for adding new threads is based on
the connection queue state:
•
Each time a new connection is returned, the number of connections waiting in
the queue (the backlog of connections) is compared to the number of session
threads already created. If it is greater than the number of threads, more
threads are scheduled to be added the next time a request completes.
•
The previous backlog is tracked, so that if it is seen to be increasing over time,
and if the increase is greater than the
of session threads minus the backlog is less than the
then another
•
The process of adding new session threads is strictly limited by the
RqThrottle
•
To avoid creating too many threads when the backlog increases suddenly
(such as the startup of benchmark loads), the decision whether more threads
are needed is made only once every 16 or 32 times a connection is made based
on how many session threads already exist.
This subsection lists the directives in
timeout of threads, processes, and connections. They are:
•
Concurrency
•
ConnQueueSize
•
HeaderBufferSize
•
IOTimeout
•
KeepAliveThreads
•
KeepAliveTimeout
•
KernelThreads
•
ListenQ
•
MaxKeepAliveConnections
•
MaxProcs (UNIX Only)
•
PostThreadsEarly
268
Netscape Enterprise Server NSAPI Programmer's Guide • April 2002 (Draft)
number of threads are scheduled to be added.
ThreadIncrement
value.
magnus.conf
value, and the number
ThreadIncrement
ThreadIncrement
that affect the number and
value,