apache prefork / mod_wsgi processus donné naissance à compter configuration apparemment passé [fermé]
Question
dans un nginx en cours d'exécution environnement de production reculez apache mpm-prefork / mod_wsgi, im voir 90 processus enfants apache, quand j'attendrions à ce que 40 serait le maximum, tel que configuré ci-dessous. la configuration / configuration est rien d'excitant:
- nginx est proxying inverse pour apache via
proxy_pass
, et servant médias statiques - apache sert uniquement les demandes dynamiques
config nginx pertinente:
worker_processes 15;
events {
worker_connections 1024;
}
keepalive_timeout 10;
config apache pertinente:
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 7
MaxSpareServers 10
MaxClients 200
MaxRequestsPerChild 0
</IfModule>
config mod_wsgi, où webapp
est le nom du processus:
WSGIDaemonProcess webapp user=www group=users threads=1 processes=40
suis-je manque quelque chose?
La solution
Les processus démon mod_wsgi apparaissent comme des processus enfants du serveur Apache, même si elles ne sont pas les mêmes. En effet, les processus de démon mod_wsgi sont une fourchette de processus parent Apache et non une fourchette / exec. En d'autres termes, ils nom de l'exécutable ne change pas.
Pour pouvoir distinguer les processus démon mod_wsgi des processus enfants du serveur Apache normal, fournissent l'option « display-name » à WSGIDaemonProcess. Cette option vous permet de changer le nom du processus comme visible dans la sortie du programme « ps » et quelques variantes de programmes comme « top ». Voir la documentation de la directive WSGIDaemonProcess sur le site mod_wsgi.
http://code.google.com/p/modwsgi/wiki/ ConfigurationDirectives # WSGIDaemonProcess
Autres conseils
Il est possible d'avoir plus de processus que les instances apache WSGI.
Les MaxClients à 40 deModifier apache si vous voulez limiter les processus apache.
Vous utilisez mod_wsgi
en mode démon, si les processus de mod_wsgi
et processus de gestionnaire Apache sont indépendants.
Par la configuration juste après l'apache vous avez commence:
- 40 (processus =) processus de
mod_wsgi
démarrent en même temps. - 20 (StartServers) processus gestionnaires Apache qui peut être automatiquement réduite à 10 (MaxSpareServers) s'il n'y a pas d'activité entrant.
Ensuite, la charge, les processus de gestionnaire Apache peuvent se développer jusqu'à 200 (MaxClients). Mais les processus de mod_wsgi
comptent seront les mêmes -. 40
Mon conseil est d'utiliser travailleur mpm que les processus Apache uniquement le contenu dynamique. Il peut aider à réduire la consommation de mémoire et une meilleure évolutivité.