Gros ralentissement sur serveur dédié

WRInaute discret
Bonjour à tous!

Je rencontre depuis quelques jours d'énorme ralentissement sur mon site web et bizzarement pas forcément en pèriode de pointe.

Le site génère un trafic important ~70K jour pour 1.7 pages vues/visiteur, donc en gros 110 000 pages affichées par jour.

Ces pages sont dynamiques et utilisent une dizaine de requète de Mysql aussi bien en INSERT INTO quand SELECT ou en UPDATE.

Après quelques tentatives de réparation voila ou en est le serveur :

Voici la ref. du serveur hébergé chez OVH : -ttp://www.ovh.com/fr/produits/superplan2007.xml


UPTIME --> 7:36pm up 1:06, 1 user, load average: 0.01, 0.17, 0.51

TOP -->

Code:
315 processes: 313 sleeping, 2 running, 0 zombie, 0 stopped
CPU0 states:  5,0% user,  2,3% system,  0,0% nice, 92,0% idle
CPU1 states:  2,3% user,  1,0% system,  0,0% nice, 96,0% idle
Mem:  1014612K av,  276928K used,  737684K free,       0K shrd,   27552K buff
Swap: 1044208K av,       0K used, 1044208K free                   43364K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
 9144 nobody    10   0  5660 5660  5112 S     0,9  0,5   0:00 httpd
 3297 nobody    10   0  5744 5744  5172 S     0,5  0,5   0:00 httpd
  560 nobody    10   0  5684 5684  5112 S     0,5  0,5   0:00 httpd
 4864 nobody     9   0  5668 5668  5112 S     0,5  0,5   0:00 httpd
24982 nobody    10   0  5736 5736  5108 S     0,5  0,5   0:00 httpd
17563 root      13   0  1200 1200   812 R     0,5  0,1   0:00 top
20803 nobody    11   0  5712 5712  5136 S     0,3  0,5   0:00 httpd
23247 nobody    11   0  5728 5728  5108 S     0,3  0,5   0:00 httpd
29165 nobody    10   0  5652 5652  5108 S     0,3  0,5   0:00 httpd
30734 nobody    10   0  5652 5652  5108 S     0,3  0,5   0:00 httpd
18005 nobody    10   0  5996 5996  5112 R     0,3  0,5   0:00 httpd
23516 root      12   0  4940 4940  4760 S     0,1  0,4   0:00 httpd
23298 nobody     9   0  5720 5720  5108 S     0,1  0,5   0:00 httpd
  312 nobody     9   0  5680 5680  5136 S     0,1  0,5   0:00 httpd
14190 nobody    10   0  5680 5680  5108 S     0,1  0,5   0:00 httpd
23034 nobody     9   0  5648 5648  5108 S     0,1  0,5   0:00 httpd

Pour m'assurer que le problème ne venait pas de là jai désactivé tt les log même ceux utilisé pour MRTG, provisoirement je vous rassure !

Quelqu'un pourrait il m'indiquer une piste où cherche en utilisant les infos ci-dessus ?

Merci d'avance.
 
WRInaute passionné
millowas a dit:
Ces pages sont dynamiques et utilisent une dizaine de requète de Mysql aussi bien en INSERT INTO quand SELECT ou en UPDATE.

Ca fait déja pas mal. Il existe des sytèmes qui permettent de mettre les pages en cache, pour éviter de bêtement refaire les mêmes requetes pour constuire une page. Ca baisserait surement pas mal la charge de ton serveur.
 
WRInaute discret
arnaudmn a dit:
millowas a dit:
Ces pages sont dynamiques et utilisent une dizaine de requète de Mysql aussi bien en INSERT INTO quand SELECT ou en UPDATE.

Ca fait déja pas mal. Il existe des sytèmes qui permettent de mettre les pages en cache, pour éviter de bêtement refaire les mêmes requetes pour constuire une page. Ca baisserait surement pas mal la charge de ton serveur.

Oui c'est sans doute une bonne idée mais je suis vraiment pas certains que le problème vienne de là car l'espace d'une heure jai hébergé ma bdd sur un autre serveur, sans aucun changement côté serveur OVH.

pour theJB ils correspondent à la charge de ton serveur. Dans l'ordre "actuellement", "Moyenne sur les 5 dernières minutes", "Moyenne sur les 15 dernières minutes".

Encore merci pour votre aide
 
WRInaute discret
Autre information.. si je calcul de tps d'exécution d'une page j'obtiens des valeurs basses comme 0.01 voir 0.005.
 
WRInaute occasionnel
ca a pas l'air de venir de la charge, le load est très bas (donc nickel), peut-être que c'est la bande passante qui freine ? les pages sont-elles lourdes ? (quel poids, images comprises ?)
as-tu des ralentissements, par exemple en ssh, lorsque tu tapes tes commandes ?

petit outil sympa : mod_status
qui te sert à monitorer ce que font tes childs apache. Simple à utiliser, c'est une page web avec un rapport temps-réel (un dump des process, donc très peu consommateur en ressources), et à installer :
http://www.illiweb.com/manuel/Apache_1. ... tatus.html
(qui devrait marcher aussi pour d'autres versions d'apache, installé nickel sous apache2)
c'est histoire de vérifier que tes apaches ne galèrent pas pour servir tes pages une fois celles-ci générées: ça mettrait du temps à arriver, sans charger le serveur
je sais pas hein, j'essaye :D
 
WRInaute accro
millowas> quelques pistes :

- installes mtop et aux périodes de "pointe", lance le. Si c'est un probleme sur une table mysql tu verras de suite quelle table pose probleme

- tapes netstat -a -n et reperes les IP qui reviennent un peu trop souvent. Fait un whois dessus et s'il s'agit d'une IP koweitienne ou irakienne ou autre, tu es victime d'une attaque DDOS. Il faut voir les dernieres lignes des logs apache et voir l'url que les machines esclave attaquent massivement

- il faut sécuriser ton dédié : installer script arno-iptables , firewall, snort etc...

- il faut installer tous les mod securité d'apache

- il faut optimiser ton httpd.conf en virant par exemple temporairement la persistance des process httpd

- il faut vérifier les log mail et voir si des petits malins, profitant d'une faille de sécurité (ou de scripts) ne s'amusent pas a utiliser (relay) ton serveur de mail. Si tu vois des <"From : aristide@truc.com.br"> avec un statut "SENT" (donc bien envoyé), cherche pas plus loin, faut sécuriser ton serveur de mail.

Bon courage et tiens nous au courant

PS :
Code:
23516 root      12   0  4940 4940  4760 S     0,1  0,4   0:00 httpd
23298 nobody     9   0  5720 5720  5108 S     0,1  0,5   0:00 httpd

Bizarre ça : httpd lancé sous 2 comptes différents ?
 
WRInaute occasionnel
J'ai le même problème de ralentissement, je viens de me rendre compte que plusieurs sites pirataient le mien pour envoyer des mails massifs.
Pourtant mes scripts sont sur, ça doit venir d'apache ou linux, qq 1 sait il comment on sécurise tout ça?
 
WRInaute impliqué
theJB a dit:
Pourtant mes scripts sont sur, ça doit venir d'apache ou linux, qq 1 sait il comment on sécurise tout ça?

Regarde déjà tes scripts. :)

Comment as-tu identifier que des pirates utilisaientt ton serveur ?

Sinon tu peux regarder tes logs pour voir quel page précise, les pirates utilisent pour envoyer des mails

Ton smtp est-il en open relay ?
 
WRInaute discret
Un grand merci à tous pour vos réponses très intéressantes mais il semble que le problème se soit règlé après avoir modifier la valeur MaxKeepAliveRequests en la mettant à 0(illimité). Ca me semble vraiment bizzard que le problème vienne de là, en tt K le site est ultra rapide now et jai passé la bar des 100K hier ;)
 
WRInaute occasionnel
Pour l'identification, j'ai checké mes logs d'envoi d'email: une quantité énorme de spam (mon site n'envoi que très peu de mels, seulement des confirmations d'inscription).

Pour les logs, j'ai les logs apache et les stats de mon site pour les scripts appelés et là je vois bien qu'il n'y a pas d'activité suspecte.

Smtp open relay c'est quoi? comment je peux voir ça?
 
WRInaute accro
oui j'ai déja eu le probleme de spam, genre 40 000 messages en file d'attente, une horreur :mrgreen: (la commande magique pour purger ça c'est postsuper -d ALL)

... il y a un paramétrage a effectuer dans /etc/postmail/main.cf qui n'"autorise" que ce que toi tu veux bien autoriser à poster : chez moi ça donne ceci

Code:
smtpd_helo_restrictions = permit_mynetworks,reject_invalid_hostname,reject_unkno
wn_hostname
smtpd_sender_restrictions = permit_mynetworks,reject_invalid_hostname,reject_unk
nown_hostname

... a plus de spam :mrgreen:

:arrow: par contre une effet de bord possible c'est que ton FAI se fasse jeter et que tu ne puisses pas récupérer tes mails en pop
 
Discussions similaires
Haut