When to increase the PD_LISTEN_COUNT
A given pdserver can handle 10 concurrent requests at a time. It
queues up to eight times more additional requests. If more requests
than that are received, it returns a
5010-117 Server is too
busy message. This is similar to receiving an "All circuits
are busy now, please try your call again later" message from the phone
You can increase the number of communication lines (request threads)
a pdserver allows by setting a value on the
PD_LISTEN_COUNT environment variable before starting the pdserver. For
example, you can set
PD_LISTEN_COUNT=20 that allows the pdserver to process 20 concurrent requests and queue
up to eight times as many more before returning a
Server is too busy message.
Increasing the server communication lines (request threads) can result in any or all of the these:
- The pdserver requires more RAM to handle the additional threads.
- The pdserver requires more CPU time to handle the additional threads.
- More context switching occurs as the processor moves from thread to thread. This further increases the amount of CPU time required.
- If the pdserver contains objects, contention between the threads for access to an object increases causing threads to wait on other threads.
PD_LISTEN_COUNT. However, because of the side effects listed for increasing the server communication lines, especially the contention between threads for access to objects, you might not want to increase the
PD_LISTEN_COUNTon pdservers acting as spoolers or supervisors. Make sure the environment variable is not set when starting these types of pdservers