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 company.

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 5010-117 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.
If a command processor pdserver is servicing several GUI clients, as well as sending print files to remote pdservers, you might want to increase its 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_COUNT on pdservers acting as spoolers or supervisors. Make sure the environment variable is not set when starting these types of pdservers