> ### Apache HTTP Server Version 2.0

> # Apache Module mpm_netware

> Description: | Multi-Processing Module implementing an exclusively threaded web server optimized for Novell NetWare
> Status: | MPM
> Module Identifier: | mpm_netware_module

> ## Summary

> 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 which need to serve more than 250 simultaneous requests may need to increase `MaxThreads`, while 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.

> See also: Setting which addresses and ports Apache uses.

> ## Directives

> - Listen
> - ListenBacklog
> - MaxRequestsPerChild
> - MaxSpareThreads
> - MaxThreads
> - MinSpareThreads
> - SendBufferSize
> - StartThreads
> - ThreadStackSize

> ## MaxSpareThreads Directive

> Description: |
> Syntax: | MaxSpareThreads number
> Default: | `MaxSpareThreads 100`
> Context: | server config
> Status: | MPM
> Module: | mpm_netware

> The `MaxSpareThreads` directive sets the desired maximum number of idle worker threads. An idle worker thread is one which is not handling a request. If there are more than MaxSpareThreads idle, then the main thread will kill off the excess worker threads.

> Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea.

> ## MaxThreads Directive

> Description: |
> Syntax: | MaxThreads number
> Default: | `MaxThreads 250`
> Context: | server config
> Status: | MPM
> Module: | mpm_netware

> The MaxThreads directive sets the desired maximum number worker threads allowable.

> ## MinSpareThreads Directive

> Description: |
> Syntax: | MinSpareThreads number
> Default: | `MinSpareThreads 10`
> Context: | server config
> Status: | MPM
> Module: | mpm_netware

> The `MinSpareThreads` directive sets the desired minimum number of idle worker threads. An idle worker thread is one which is not handling a request. If there are fewer than MinSpareThreads idle, then the main thread spawns new worker.

> Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea.

> ## StartThreads Directive

> Description: |
> Syntax: | StartThreads number
> Default: | `StartThreads 50`
> Context: | server config
> Status: | MPM
> Module: | mpm_netware

> The StartThreads directive sets the desired number of worker threads to spawn and startup

> ## ThreadStackSize Directive

> Description: |
> Syntax: | ThreadStackSize number
> Default: | `ThreadStackSize 65536`
> Context: | server config
> Status: | MPM
> Module: | mpm_netware

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

> ### Apache HTTP Server Version 2.0