2010-04-13 2 views
2

J'ai quelques processus en cours d'exécution sur Apache et quand le serveur obtient un peu d'une charge, ils semblent tous se coupler en 3-4 processus. J'ai essayé de mettre le MaxRequestsPerChild à 1 et cela fonctionne, mais engendrer de nouveaux processus tout le temps est cher. Il y a donc un moyen de limiter 1 requête par processus/thread, sans le détruire constamment.Limite Apache à 1 requête par processus

Voici ma configuration actuelle:

<IfModule prefork.c> 
StartServers  25 
MinSpareServers 50 
MaxSpareServers 50 
ServerLimit  512 
MaxClients  50 
MaxRequestsPerChild 10 
</IfModule> 
<IfModule worker.c> 
StartServers   25 
MaxClients  50 
MinSpareThreads  50 
MaxSpareThreads  125 
ThreadsPerChild  50 
MaxRequestsPerChild 10 
</IfModule> 
+0

Vous avez oublié de poser une question. –

+0

Euh, votre droite ~ _ ~ – Gorilla3D

Répondre

-2

ThreadsPerChild contrôler le nombre de demandes par processus. Donc, voici ma config résultant:

<IfModule prefork.c> 
StartServers  100 
MinSpareServers 150 
MaxSpareServers 150 
ServerLimit  512 
MaxClients  150 
MaxRequestsPerChild 100 
</IfModule> 

<IfModule worker.c> 
StartServers   100 
MaxClients   150 
MinSpareThreads  150 
MaxSpareThreads  150 
ThreadsPerChild  1 
MaxRequestsPerChild 100 
</IfModule> 
+1

Cela viole de nombreuses directives apache. (Les serveurs max seront par défaut à min + 1, maxrequestsperchild bas ajoute la mise à mort coûteuse et la création de threads, en gardant 150 serveurs inactifs est coûteux, etc, etc) http://httpd.apache.org/docs/2.2/mod/prefork.html – Eddie