En mode prefork
Exemple de configuration :
1 2 3 4 5 6 7
<IfModule mpm_prefork_module> ServerLimit 128 MaxClients 128 MinSpareServers 5 MaxSpareServers 10 MaxRequestsPerChild 1000 </IfModule>
Information :
ServerLimit 128
⇔ On démarre au max 128 processus. Le nombre de processus lancé est ajusté dynamiquement, apache lancera 128 processus uniquement si c’est nécessaire.MaxClients 128
⇔ On permet 128 connexions simultanées (MaxClients = ServerLimit)MinSpareServers 5
⇔ On demande à apache de conserver au minimum 5 processus en attente de connexion.MaxSpareServers 10
⇔ On demande à apache de ne pas conserver plus de 10 processus en attente de connexion.MaxRequestsPerChild 1000
⇔ Au bout de 1000 connexions sur un enfant on le tue (permet de tolérer les éventuelles fuites mémoires)
En mode worker
Exemple de configuration :
1 2 3 4 5 6 7 8
<IfModule mpm_worker_module> ServerLimit 2 ThreadsPerChild 64 MaxClients 128 MinSpareThreads 25 MaxSpareThreads 75 MaxRequestsPerChild 1000 </IfModule>
Information :
ServerLimit 2
⇔ On démarre au max 2 processus. Le nombre de processus lancé est ajusté dynamiquement, apache lancera 2 processus uniquement si c’est nécessaire.ThreadsPerChild 64
⇔ On lance 64 thread pour chaque processusMaxClients 128
⇔ On permet 128 connexions simultanées (MaxClients = ServerLimit * ThreadsPerChild)MinSpareThreads 25
⇔ On demande à apache de conserver au minimum 25 threads en attente de connexionMaxSpareThreads 75
⇔ On demande à apache de ne pas conserver plus de 25 threads en attente de connexionMaxRequestsPerChild 1000
⇔ Au bout de 1000 connexions sur un enfant on le tue (permet de tolérer les éventuelles fuites mémoires)
Source: zeitoun.net.