Prev: Next: Up: Global directives[Contents][Index]


11.4.2 Worker Settings

Global directive: WorkerMinCount n

Sets minimum number of worker threads that must always be running. The default is 5. See Worker model.

Global directive: WorkerMaxCount n

Sets maximum number of worker threads. The default is 128. See Worker model.

Global directive: WorkerIdleTimeout n

Sets idle timeout for a worker thread, in seconds. Default is 30 seconds. See Worker model.

Global directive: WorkerStackSize n

Sets worker stack size, in bytes. The default size is 262144.

Global directive: Threads n

This statement, retained for backward compatibility with previous versions of pound, is equivalent to:

WorkerMinCount n
WorkerMaxCount n
Global directive: ConnectionQueueSize n

Sets size of the incoming connection queue (see Worker model).

Unless defined explicitly, its value is computed as:

R - (Wmax*Fwrk + Fini + Fres)

where R is the system limit on available file descriptors (as set, e.g. by ulimit -n), Wmax is the value of WorkerMaxCount setting, Fwrk is the number of file descriptors used per worker, Fini is the number of file descriptors in use at program startup, and Fres is the number of reserved file descriptors.

The value of Fini is computed automatically and comprises the three standard I/O descriptors and any descriptors opened by pound for listeners, watchers, etc. Notice, that at startup pound will close all inherited file descriptors above 2. If, for some reson, you need to keep them, use the -Wno-close-extra-fds option.

The value of Fwrk is normally 2 (two descriptors necessary for I/O). Initial value of Fres is 3. After parsing the configuration file, pound may increase it (this happens, e.g. if watchers are used).

Both values may need a correction in complex configurations, in particular if they involve Lua functions that open files or network connections (see Extending pound functionality with Lua). Such a correction is done using the ReserveFD configuration setting.

Global directive: ReserveFD [-worker] n

Increases default number of reserved descriptors by n.

Used without options, this statement increases the number of descriptors reseved globally (see Fres above). If given the -worker option, it increases the number of descriptors reserved per worker (Fwrk).


Prev: Next: Up: Global directives[Contents][Index]