Aller au contenu

Montée en charge et plantage serveur Mysql


steph13

Sujets conseillés

Bonjour le Hub,

Depuis quelques semaines, le trafic de mon site s'accrue sensiblement.

Hors, le serveur Mysql ne semble pas suivre.

Il me fait des montées en charge assez violente, puis il plante, tout simplement.

Le problèmes, c'est aussi qu'il ne redemarre pas automatiquement...

Quand je fais un top du serveur lorsque que j'ai du monde en ligne, ma memoire est prise à plus de 89%.

Le serveur possède 512 Mo de ram.

Voici le my.cnf

set-variable = long_query_time=10
set-variable = thread_cache_size=20
set-variable = table_cache=128
set-variable = join_buffer_size=512K
set-variable = myisam_sort_buffer_size=2M
set-variable = record_buffer=256K
set-variable = read_rnd_buffer_size=256K


socket=/var/lib/mysql/mysql.sock

set-variable = connect_timeout=20
set-variable = max_connections=100
skip-networking
set-variable = long_query_time=5
log-slow-queries = /var/log/mysql/slow-query.log

Auriez vous des pistes à me donner pour optimiser tout cela ?

Dans les courbes Mrgt, j'ai aussi ceci, qui me surprend beaucoup...

23-09.png

Merci d'avance

Stef'

Lien vers le commentaire
Partager sur d’autres sites

Salut

Première chose quand tu essaies de faire face aux montées en charge d'un serveur MySQL, c'est d'être sûr d'avoir placé des index sur tous les champs de tes tables qui le nécessitent. Est-ce le cas ? Si jamais tu n'as pas placé d'index, tu peux déjà te réjouir, l'amélioration des performances est souvent phénoménale.

Deuxième chose as-tu activé le cache de requête ? quelles valeurs as-tu pour les variables query_cache_size et query_cache_type ? (tu peux facilement trouver ces valeurs à partir de phpMyAdmin "Afficher les variables du serveur".

Une fois que tu seras sûr de l'état de ton serveur et si tes problèmes ne sont pas réglé, tu pourras t'intéresser à la façon dont tu as programmé tes scripts et optimiser tes requêtes SQL ( en analysant le log des requêtes lentes "slow-query.log" par exemple ).

bon courage ;)

EDIT : euhh bizarre ton graph effectivement.... rien à voir avec Mysql :/

Modifié par dièse
Lien vers le commentaire
Partager sur d’autres sites

Salut Dièse,

Merci de ton aide, une nouvelle fois :)

J'ai donc repris l'indexation sur les tables les plus utilisées dans un premier, et il est vrai que c'est un peu le bronx.

Donc, ca deja fait ( tout ou partie, je vais continuer le tracking de ce côté).

Pour les variables...

Query cache size: 0 :( pas bien joué la.

Pour l'activer, je suppose que c'est qq chose du type:

set-variable =query_cache_size= XXM (comment calculer la taille au plus juste?)

Query cache type: ON

Le log pour les slows queyr, il est tout bonnement vide.

Je me suis attardé dessus ces derniers jours justement, histoire de voir ce qu'il se passait.

J'avais en effet une requête qui posait soucis.

Il semble que les modifications apportées aient portées leurs fruits de ce côté.

En revanche, il me semble avoir vu que chaque process Mysql me bouffe près de 40Mo de ram !! Ce nombre me parait plus qu'excessif.

Et pour le graph, c'est en effet suspect.

Mais je n'ai rien vu de bizarre dans le log apache, pour le moment.

Il doit y avoir une explication à cela.

Lien vers le commentaire
Partager sur d’autres sites

Comme il fait pas beau, je te file un peu de lecture pour cet après-midi ;) :

http://www.supinfo-projects.com/fr/2005/mysql_tweaking_fr/3/

http://maximilian.developpez.com/mysql/queryCache/

http://dev.mysql.com/doc/refman/5.0/fr/que...figuration.html

J'ai fait pointé les liens sur des articles sur le cache de requêtes mais tu pourras trouver plein d'autres infos sur l'optimisation sur les 3 sites.

Modifié par dièse
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...