Montée en charge explosive

WRInaute discret
Bonjour

J'administre un serveur dédié ovh (un superplan +). Il tourne comme une horloge entre 0.5 et 2 de charge ... et par moment, sans que j'ai encore trouvé d'explication, la charge explose à plus de 50 en quelques secondes.
Quand je suis logué en ssh et que le phénomène se produit, je vois au top des mysqld qui envahissent la liste des processus ... (cause ou conséquence ?) ... Quand je ne suis pas devant et que je ne relance pas apache, la charge peut rester haute qqs minutes seulement puis retomber ... ou ca peut durer comme hier soir une bonne heure ... Sur un navigateur, plus grand chose à voir sauf une erreir mysql qui annonce trop de connexion ...
En général dans les logs apaches, je me retrouve avec une ligne "server reached MaxClients setting, consider raising the MaxClients setting" ... là encore cause ou conséquence ... ? (si je me souviens bien le MaxClients est à 150 ... réglage de base) .
Sinon comme ca fait un gros moment que ca dure cette histoire, j'ai eu le temps de rechercher toutes les boucles qui pourrait tourner en rond. J'ai aussi optimisé le code de mon forum et les structures des tables ... J'ai ainsi gagné beaucoup sur la charge en temps normal, mais impossible de trouver ce qui fait partir le serveur de la sorte ...

Bref, là je suis sec +++ et j'ai besoin de vos lumières !
Merci à ceux qui répondront !

B.

Ps : http://ns31408.ovh.net/mrtg/
Ps2: j'ai l'option sécurité totale ovh qui fait qu'en théorie le système est bien à jour.
 
WRInaute discret
tu fait quoi entre 20h et 23h ton mrtg est bizarre à cet interval

tu peu metre ce que t'affiche ton la commande top quand c'est le bronx?

est-ce que tu peut aller facilement sur tes sites quand t'a plein de mysqld en process?
et fait un df en ligne de commande pendant cette période de charge maxi et regarde.
 
WRInaute discret
mf a dit:
tu fait quoi entre 20h et 23h ton mrtg est bizarre à cet interval

Rien, j'étais au resto ... c'est arrivé aussi une fois à 2h du mat ... pas en période de pointe quoi .... En gros le rythme c'est tous les 2 à 4 jours, par épisode journalier unique

tu peu metre ce que t'affiche ton la commande top quand c'est le bronx?

J'essayerai de faire une capture si je tombe dessus. En général les processus mysqld comblent toutes les lignes du top

est-ce que tu peut aller facilement sur tes sites quand t'a plein de mysqld en process?

A priori initiallement ca rame +++ Je n'ai jamais constaté le message "trop de connexion mysql" mais j'ai l'impression que c'est là qu'on arrive si on laisse le phénomène s'amplifier. (quand je suis devant le pc, je relance les servcies avant)

et fait un df en ligne de commande pendant cette période de charge maxi et regarde.

Ok je ferais ca aussi.

Merci

B.
 
WRInaute passionné
Hello,

J'ai (eu) le même problème. Ca s'est bien calmé depuis que j'ai mis en ache la quasi-totalité des pages de mes sites (forum y compris) et que j'ai optimisé les codes, mais ça arrive encore de temps à autre.

Début janvier, j'avais tous les jours 4 ou 5 plantages du serveur... donc mon conseil: installe sys-alive ! Ca empêche ton serveur de planter, puisque ça arrête mysqld et httpd pendant une minute ou deux en cas de pic, avant de les relancer. Au moins, tes ralentissements ne dureront plus que 3 ou 4 minutes et tu ne devras pas faire de reboot hard, c'est très efficace (en cas de resto, plus de stress pour son serveur).

Pour le reste, je te conseille la mise en cache de tes pages si ce n'est déjà fait.

aK.
 
WRInaute discret
aK a dit:
Hello,
Début janvier, j'avais tous les jours 4 ou 5 plantages du serveur... donc mon conseil: installe sys-alive ! Ca empêche ton serveur de planter,

oui enfin ca résoud pas le problème ca le cache.....pour du provisoir dans l'urgence ok et encore.....

moi j'opterais pas pour cette solution mais trouver réellemenbt la cause......c'est plus prope
 
Nouveau WRInaute
Vois avec les LOG apaches et Mysql, qui génère les connexions.
- Il peut s'agir d'un spider ( Certains peuvent lancer plusieurs centaines de hits / minute )
- Il peut s'agir d'un "exploit" ( scan des ports ouvert avec tests systematiques de password ). J'ai eu ça sur SSH et sur le Mail ( avec des comptes virtuels stockés sous MySQL )

Il s'agit d'un serveur dédié. Je suppose sous linux.
- Assure toi que le système est à jour ( Il existe des failles sur Apache tout comme sur MySql )
- Regardes aussi pour l'installation et ler parametrage d'IPChain ou PacketFilter sur la machine ( ouverture des seuls ports utiles ( HTTP 80, HTTP-SSL 443, SMTP 25 ... ). La plupart des Datacenter qui proposent des solutions sécurisés installent ce type de fitres sur les entrées du Datacenter ou sur des blocs de machines ( Pas à l'intérieur du Datacenter ). Cela protège des attaques extérieurs mais pas de l'intérieur. Dans mon cas, certaine des attaques étaient "relayées" ( !) par une machine d'un autre client.
- Déactive tout ce qui ne sert à rien.

Dans le cas d'un spider, tu peux peut être limiter le nombre de connexions simultanées pour une adresse IP ( ou un bloc ). La visite d'un moteur de e-commerce chinois n'est pas forcement utile !

Pour l'analyse des Log apaches tu peux utiliser un logiciel spécialisé. Moi J'utilise Awstats mais d'autre existe.
 
Nouveau WRInaute
jlauriol a dit:
Dans le cas d'un spider, tu peux peut être limiter le nombre de connexions simultanées pour une adresse IP ( ou un bloc ). La visite d'un moteur de e-commerce chinois n'est pas forcement utile !

voila hier g eu une tentative de flood du serveur et je voudrais savoir si il y a une solution pour "limiter le nombre de connexions simultanées pour une adresse IP" si oui.. qu'elles sont les commandes a faire ?
 
Discussions similaires
Haut