#
# This file is managed by Salt! Do not edit by hand!
#

{% set mpm_module = 'mpm_prefork' -%}
{% set mpm_param = salt['pillar.get']('apache:mod_mpm_prefork', {}) -%}
{% if pillar.get('apache:mod_mpm_worker') is defined -%}
{% set mpm_module = 'mpm_worker' -%}
{% set mpm_param = salt['pillar.get']('apache:mod_mpm_worker', {}) -%}
{% else -%}
{% endif -%}

LoadModule {{ mpm_module }}_module modules/mod_{{ mpm_module }}.so

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# ServerLimit: maximum number of server processes
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxRequestWorkers: maximum number of server processes allowed to start
# MaxConnectionsPerChild: maximum number of requests a server process serves

<IfModule mpm_prefork_module>
	StartServers {{ mpm_param['start_servers'] | d('5') }}
	MaxRequestWorkers {{ mpm_param['max_request_workers'] | d('150') }}
{%- if mpm_param['max_request_workers'] | d('150') | int >= 256 %}
	ServerLimit {{ mpm_param['max_request_workers'] | d('150') }}
{%- endif %}
	MinSpareServers {{ mpm_param['min_spare_servers'] | d('5') }}
	MaxSpareServers {{ mpm_param['max_spare_servers'] | d('10') }}
	MaxConnectionsPerChild {{ mpm_param['max_connections_per_child'] | d('0') }}
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestWorkers: maximum number of worker threads
# MaxConnectionsPerChild: maximum number of connections a server process serves
#                         before terminating

<IfModule mpm_worker_module>
    StartServers {{ mpm_param['start_servers'] | d('2') }}
    MaxRequestWorkers {{ mpm_param['max_request_workers'] | d('150') }}
    MinSpareThreads {{ mpm_param['min_spare_threads'] | d('25') }}
    MaxSpareThreads {{ mpm_param['max_spare_threads'] | d('75') }}
    ThreadLimit {{ mpm_param['thread_limit'] | d('64') }}
    ThreadsPerChild {{ mpm_param['threads_per_child'] | d('25') }}
    MaxConnectionsPerChild {{ mpm_param['max_connections_per_child'] | d('0') }}
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet