Hello,
A interval régulier, apache2 part en sucette sur notre serveur, il n'est pas planté, il répond tjs, mais est super super lent. Et uniquement lui, tous les autres process tournent sans problèmes. Ensuite si je fais un simple apache2ctl stop et apache2ctl start, tout revient à la normale, ce qui est bizard c'est que j'ai un autre serveur avec la même configuration, et jamais aucun problème dans apache2 (la seule différence réside que ce serveur ci a beaucoup moins de requêtes).
Nous n'avons même pas réussi à cerner le problème, ne sachant pas si cela provient de apach2, php4 ou php5 (tous les deux en cgi) ou même de MySql. Nous avons remarqué lors d'un "ps ax" que plusieurs processe php4 était en cours, ainsi que des apache2.
Je me demande si cela ne provient pas du fait que simplement apache2 ne créé pas assez de processus child, mais je préfère poser la question.
Voici notre config :
Debian Stable AMD64.
Apache2 installé via package.
SuPHP installé via package.
PHP4 et PHP5 en cgi installé via les packages de DotDeb.
Mysql installé via package de DotDeb.
Ensuite nous avons ca dans notre apache2.conf :
[code]
# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 15
MaxClients 25
MaxRequestsPerChild 0
# pthread MPM
# StartServers ......... initial number of server processes to start
# MaxClients ........... maximum number of server processes allowed 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
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial number of worker threads in each server process
# MinSpareThreads ...... minimum number of worker threads which are kept spare
# MaxSpareThreads ...... maximum number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum number of worker threads in each server process
# MaxRequestsPerChild .. maximum number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
AcceptMutex fcntl
[/code]
Voilà si qqn a une idée, n'hésitez pas.
Dans l'espoir que... et déjà merci.
a+
# des bugs et des hommes
Posté par Mouns (site web personnel) . Évalué à 3.
se connectent aux memes services ?
font exactement la meme choses ?
car a interval fixe peut avoir lieu :
- un cron
- une requete reseau
- une interuption materielle ( assez rare comme bug )
donc si cela se trouve c'est juste le bug le plus courant des hebergeurs : le code php d'un des clients.
# Apache tourne en rond ?
Posté par Cali_Mero . Évalué à 4.
(Désolé ;-) pas pu m'en empêcher...)
Plus sérieusement, tout comme Moun's, je te suggère de regarder en premier lieu l'activité des scripts php éxécutés (et plus particulièrement les éventuels accès concurrents aux fichiers, l'utilisation des sessions...).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.