Surcharge mysql

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Surcharge mysql

Message le Ven Aoû 31, 2007 11:41

top - 12:33:17 up 1:37, 1 user, load average: 11.41, 11.94, 12.29
Tasks: 292 total, 2 running, 290 sleeping, 0 stopped, 0 zombie
Cpu0 : 62.0% us, 21.0% sy, 0.0% ni, 8.0% id, 8.3% wa, 0.0% hi, 0.7% si
Cpu1 : 75.6% us, 16.5% sy, 0.0% ni, 5.6% id, 1.7% wa, 0.3% hi, 0.3% si
Mem: 4149272k total, 2022868k used, 2126404k free, 49652k buffers
Swap: 522104k total, 0k used, 522104k free, 1384508k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1296 mysql 15 0 962m 187m 2820 S 99.9 4.6 128:36.90 mysqld
8140 www-data 16 0 16392 5624 3224 S 1.0 0.1 0:00.99 apache
8163 www-data 15 0 16368 5580 3204 S 1.0 0.1 0:01.24 apache
7985 www-data 15 0 16596 5472 2900 S 0.7 0.1 0:01.65 apache
8042 www-data 15 0 16400 5616 3208 S 0.7 0.1 0:01.17 apache
8078 www-data 15 0 16460 5644 3176 S 0.7 0.1 0:01.14 apache
....

Comment résoudre ce problème qui commence sérieusement à me gonfler ?
mysql pompe tout mon cpu dès qu'il y a un peu de monde sur mon site.
Il n'y a aucune grosse requête lourde.
Je vérifie toutes mes requetes dépassant 2 secondes et il n'y en a pas des masses.

Aux heures de pointes, il y a près de 300 requêtes/secondes

Le cache mysql n'en utilise que 20... (peu de requetes identiques qui reviennent)

Que faire dans ce cas ?


PS : sur le serveur précédent, il y avait plusieurs processus mysql et il n'y avait aucun problème de CPU, c'était la RAM qui faisait défaut.
Edit : et le serveur était moins puissant
Dernière édition par Robinson le Ven Aoû 31, 2007 11:47, édité 1 fois.


tofm2
WRInaute passionné
WRInaute passionné
 
Messages: 2202
Inscription: 9 Avr 2005

Message le Ven Aoû 31, 2007 11:45

sur ce serveur, il n'y a QUE MySQL qui tourne ?? ou bien y a t'il apache également?

EDIT

pardon, je n'avais pas vu les lignes de Apache....

Dans cas, je préconise toujours de séparer sur deux serveurs distinct le web et le SQL.
Dernière édition par tofm2 le Ven Aoû 31, 2007 11:47, édité 1 fois.

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Message le Ven Aoû 31, 2007 11:46

Apache également, c'est dans la liste des processus.


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Ven Aoû 31, 2007 13:11

salut,
c'est quelle version de mysql, quelle distrib (avant et après) ?


sureau
WRInaute discret
WRInaute discret
 
Messages: 195
Inscription: 7 Mar 2005

Message le Ven Aoû 31, 2007 13:23

Il m'est arrivé exactement la même chose il y a une semaine. le CPU tournait a 60% pour mysql. J'ai cru à un hack. En fait c'était une explosion des visiteurs sur plusieurs sites. En mettant du cache sur les modules ajax, mon processeur est redescendu bien bas.

Peut etre ça pourra t'aider.

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Message le Ven Aoû 31, 2007 13:38

Mysql 4.0.26, debian, sur les deux serveurs.

(oui je sais, version qui se fait vieille)

Le traffic est important oui mais il était important également sur l'autre serveur. L'autre serveur n'avait qu'un seul CPU.
La seule différence (hormis la puissance), est qu'il y avait plusieurs processus mysql.

Du cache, je ne peux quasi pas en mettre.


Est-ce que passer à mysql 5 et toutes les tables en innodb arrangerait les choses ?

(j'hésite même à prendre Mysql 5 Entreprise...)


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Ven Aoû 31, 2007 14:01

et tu as strictement recopier ton /etc/my.cnf d'un serveur vers l'autre ?

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Message le Ven Aoû 31, 2007 14:18

Oui, mais depuis j'ai tenté de l'améliorer mais rien à faire...

Ce qui est étrange, c'est que le processus mysql arrive à 99,9% alors que le traffic n'est même pas à la moitié de son pic.
Il n'y a aucune lenteur, aucun probleme à ce moment-ci (même si la charge reste assez élevée; actuellement, elle est de 5)

Lorsque le pic est atteint, il y a quelques lenteurs mais surtout des erreurs de sockets mysql qui apparaissent et la charge du serveur grimpe.


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

Message le Ven Aoû 31, 2007 14:30

Je vérifie toutes mes requetes dépassant 2 secondes et il n'y en a pas des masses.

Aux heures de pointes, il y a près de 300 requêtes/secondes

Le cache mysql n'en utilise que 20... (peu de requetes identiques qui reviennent)

Que faire dans ce cas ?


Je suis hors sujet, mais je commence a peine avec les dédié comment avez vous eu ces stats

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Message le Ven Aoû 31, 2007 14:34

Pour les requètes, j'utilise un script mrtg. En cherchant un peu sur google, tu trouvera facilement.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités