|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 10 ![]() |
Bonjour,
Je suis entrain de me battre avec la configuration de mon serveur, et je n'arrive à rien. Voici des infos sur le serveur : Hardware : Processor E5620 2400 Mhz 2 CPU 4 Cores, 8 GB RAM OS : Linux version 2.6.32-5-amd64 (Debian 2.6.32-38) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Oct 3 03:59:20 UTC 2011 La machine n'héberge qu'un seul site internet mais qui a un gros traffic (1 million de pages vues par jour, 4000 visiteurs simultanés aux heures de pointes), pas de streaming, pas de fichiers hébergés sur le serveur à télécharger, juste des pages web et des images, qui sont déjà pas mal optimisées (compressées, sprites, mise en cache,..). J'ai donc installé dessus PHP5, Apache/2.2.16 (Debian), MySQL 5.1.49 et qques autres trucs sans importances. Mon soucis est que Apache ne répond pas du tout comme je le souhaite. Lorsque je fais un top, je vois le process mysqld qui tourne entre 10 et 50%, et tous les process apache2 qui suivent, qui tournent entre 0 et 2%. Au niveau des CPU(s) used, même à l'heure de pointe ca dépasse pas 10%. Le soucis est que de temps en temps, Apache me lache, dans mon top je vois tous les process disparaitr et finalement ne reste que le process mysqld.. Si je lance un "service apache2 statuts", ca me dit running.. Si je ne fais rien et que j'attends quelques secondes (parfois 1-2 minutes), ca se relance tout seul, et les process reviennent. En dehors de ça, il est parfois quasiment impossible de se connecter à l'heure de pointe sur le site, comme si Apache ne répondait pas, où était surchargé.. Pourtant le serveur est loin d'utiliser sa pleine capacité.... Je vous file les valeurs critiques de la config d'apache : /etc/apache2/apache2.conf Code :
Code :
Code :
Le traffic est d'un giga par heure en moyenne, 100 requêtes par seconde en moyenne. Mais mysql m'a l'air de tourner tout à fait correctement contrairement à Apache. J'ai cherché sur les forums, lu des trucs concernant tel ou tel paramètre, essayé une multitudes de valeurs, peut-être je les combinais mal je sais pas, mais ça commence à durer et les visiteurs en ont marre et moi plus qu'eux encore. J'avais ces soucis sur un précédent serveur, j'ai pris celui ci beaucoup plus puissant que l'ancien, et rien ne change, c'est même parfois pire.. Je suis certain que c'est un soucis de config. Un expert résoudrait probablement ça en 10 minutes chrono.. Si quelqu'un a des solutions à me proposer, ou connait quelqu'un qui s'y connait en configuration serveur web linux et qui serait prêt à m'aider, une aide serait vraiment la bienvenue. Merci d'avance de m'avoir lu, j'espère que ces infos peuvent vous servir. |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2005 Messages : 8 295 ![]() |
Je suis nul en perf, je n'y connais rien, donc il y a peu de chances que je t'aide, mais on ne sait jamais. Il y a quoi dans les logs d'erreur d'Apache et dans le syslog du système au moment du crash ?
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 2 ![]() |
Bonjour,
Je ne suis pas "expert" apache, mais je veux bien mettre la main à la patte. Dans un premier temps ce que j'ai pu voir, les valeurs "KeepAlive" et "KeepAliveTimeout" peuvent être ajustés. Essaye de passer le KeepAlive à "ON" cela évitera d'ouvrir une connexion à chaque chargement de contenu HTML/image. Je pense que ca déchargera le serveur étant donnée les nombreuses images présentent sur le site. Ensuite le deuxième paramètre qui va de paire "KeepAliveTimeout", cette valeur détermine le temps avant le traitement d'une nouvelle requête. Il conseille de descendre la valeur entre deux et cinq secondes... Je pense que tu as déjà cherché, mais si tu regardes sur le lien que je te passe ci-dessous tu devrais pouvoir t'en sortir. http://www.howtoforge.com/configurin...um_performance Pourrais-tu nous donner les valeurs que tu as déjà essayé de changer ? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 6 ![]() |
Bonsoir
Et que donnent les logs -syslog et autres ..? que donnent ps -aux? Depuis combien de temps n'avez vous pas redémarré votre serveur ? Que donne free -m ? (RAM pleine?... ) Bon courage |
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : mars 2010 Messages : 10 ![]() |
Bonsoir !
Il s'est passé du temps depuis mon post, effectivement j'ai testé toutes sortes de valeurs de mon côté, sans jamais trouver la bonne combinaison je pense. La commande free -m me donne ceci : Code :
Voici les valeurs que j'ai changées : Code :
Code :
www-data 482 0.1 0.2 352832 19256 ? S 19:18 0:00 /usr/sbin/apache2 -k start Code :
mysql 13865 35.1 5.3 1497368 441420 ? Sl Nov18 7035:22 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid ......... J'ai aussi mis en place fail2ban, ainsi qu'eaccelerator. J'ai l'impression que le serveur va déjà mieux, même si c'est pas encore extraordinaire. Je n'ai pas mis le KeepAlive à On, car quand je le mets, j'ai l'impression que c'est pire. Je m'explique quand je demande une page du serveur, et bien ça tourne dans le vide pendant parfois 5-6 secondes, et puis une fois que la connexion est établie tout va très vite. Ca ne le fait pas tout le temps, mais suffisamment pour énerver rapidement. J'ai l'impression qu'augmenter le MaxClient et le MaxServers a amélioré les choses. C'est possible? Dernière info le serveur a été redémarré y a 23 jours. Ce n'est pas beaucoup. Ah oui et pour le fichier /var/log/syslog, il contient principalement des lignes sur l'envoi d'emails, mais je remarque que y doit surement y avoir un bug qque part là dedans car j'ai des centaines de lignes qui se ressemblent, par exemple : Code :
Dec 2 06:44:04 redlist sm-mta[1169]: pARGoVwY006313: to=<roseline@cite.net>, ctladdr=<www-data@localhost> (33/33), delay=4+12:53:33, xdelay=00:00:01, mailer=esmtp, pri=58981979, relay=smtp5.vid$ |
||||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 2 ![]() |
La valeur Maxclients peut avoir un impact assez important si elle est mise trop haute. Je pense que tu veux dire "diminuer" plutôt que augmenter car dans le premier Post, MaxClient = 512 et maintenant Maxclients = 250 ) Cette valeur là se calcul :
In English : " Appropriate value for MaxClients can be calculated as: MaxClients = Total RAM dedicated to the web server / Max child process size ---- [4] Child process size for serving static file is about 2-3M. For dynamic content such as PHP, it may be around 15M." Si tu as 4 go de RAM dédié à Apache : 4096 / 15 = 273 pour le MaxClients Fail2ban ne te fait pas gagner directement en perf, mais en bannant des requêtes inutiles, ont fini par y gagner réellement, donc c'est possible. Essaye de voir du coté des logs de F2B pour voir si il as une bonne activé... JE te conseillerai également de descendre le MaxSpareServeur, car la création de proccess bouffe pas mal de ressource et surtout bloque les requêtes clients. Diminue le au moins de moitité (500 => 250 voir 200 ) Sur ce genre de problème, le mieux est de mettre en place une "supervision" puis de changer paramètre par paramètre sur une plage de temps donnée (2 jours par ex), puis d'analyser pour voir si les temps de réponse sont meilleur ou pas. Sinon, on ne sait jamais si on vas dans la bonne direction ! Petit plus : Etant utilisateur du site, je peux dire que je n’ai pas eut de ralentissement gênant ces derniers jours. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com