mpm_netware
Multi-Processing Module implementing an exclusively threaded web server optimized for Novell NetWare
MPM
mpm_netware.c
mpm_netware_module

This Multi-Processing Module (MPM) implements an exclusively threaded web server that has been optimized for Novell NetWare.

The main thread is responsible for launching child worker threads which listen for connections and serve them when they arrive. Apache always tries to maintain several spare or idle worker threads, which stand ready to serve incoming requests. In this way, clients do not need to wait for a new child threads to be spawned before their requests can be served.

The StartThreads, MinSpareThreads, MaxSpareThreads, and MaxThreads regulate how the main thread creates worker threads to serve requests. In general, Apache is very self-regulating, so most sites do not need to adjust these directives from their default values. Sites with limited memory may need to decrease MaxThreads to keep the server from thrashing (spawning and terminating idle threads). More information about tuning process creation is provided in the performance hints documentation.

MaxRequestsPerChild controls how frequently the server recycles processes by killing old ones and launching new ones. On the NetWare OS it is highly recommended that this directive remain set to 0. This allows worker threads to continue servicing requests indefinitely.

Setting which addresses and ports Apache uses
Listen
ListenBacklog
MaxMemFree
MaxRequestsPerChild
ReceiveBufferSize
SendBufferSize
MaxSpareThreads
MinSpareThreads
StartThreads
MaxThreads
Set the maximum number of worker threads
MaxThreads number
MaxThreads 2048
server config

The MaxThreads directive sets the desired maximum number worker threads allowable. The default value is also the compiled in hard limit. Therefore it can only be lowered, for example:

MaxThreads 512
ThreadStackSize
Determine the stack size for each thread
ThreadStackSize number
ThreadStackSize 65536
server config

This directive tells the server what stack size to use for each of the running threads. If you ever get a stack overflow you will need to bump this number to a higher setting.