Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/10/2006, 10h42   #1
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Par défaut [MySQL4.1.12] Performances aléatoires ?

Bonjour,

Je ne suis pas certaine que mon problème de perf soit lié à MySQL mais bon... sait-on jamais !

La situation : J'ai un outil qui me sert à faire des "exports" donc ça requete dans tous les sens sur pas mal de tables. Ces tables sont en MyISAM. Les INDEX je suppose sont bien placés. J'ai fait un explain de l'ensemble des requêtes et la plupart sont des eq_ref. Voilà pour le tableau général.

Le soucis n'est pas tant l'optimisation du requetage puisque quelques fois, peut être la moitié du temps, il m'arrive d'obtenir mes exports assez rapidement. Mais par contre l'autre moitié du temps j'obtiens des temps d'export assez pharaoniques .

Est-ce dû au fait que MySQL ait du mal à "récupérer" ?

Je précise que ces exports ne sont pas fait en local, et que cette appli est hébergée sur une distrib. Linux.
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 11h16   #2
Membre régulier
 
Avatar de jp_rennes
 
Inscription : mars 2006
Messages : 72
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mars 2006
Messages : 72
Points : 83
Points : 83
Pour avoir vécu ce genre de situation, je pense que tu devrait tuner ton système d'exploitation :
- Pendant la journée et en particulier pendant tes exports, fais un top (commande linux) ou topas (commande UNIX) pour connaître l'occupation CPU, la gestion mémoire de ton serveur
- Fais également un vmstat ou mieux encore utilise l'outil "nmon" (unix ou linux) qui analyse les performances de ton système pendant un temps donné et te génère un fichier excel.

Idées en vrac :
- As-tu paramétré un query_cache sur ton serveur ( cache des requêtes) ?
- si tu as plusieurs disques tu peux spécifier à la création de tes tables un disque pour les données et un pour les index ce qui peut accélérer les temps de réponse
- Tu peux faire par crontab des optimize(peut défragmenter tes tables) et analyze(aide l'optimiseur de requêtes) table
- Tes fichiers exportés peuvent-ils être écrit sur un autre disque que celui qui héberge les données
- Si un jour tu pouvais passer en mysql 5.X, pense que tu pourras utiliser les partitionnements de tables
jp_rennes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 11h30   #3
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Salut,

J'ajouterais que selon la puissance du serveur et la taille/complexité des exports, de petits ralentissements peuvent être plus ou moins normaux.

Un autre outil utile : le slow query log pour identifier les requêtes qui mettent le plus longtemps à s'exécuter.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 11h39   #4
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Merci pour ton aide jp_rennes. Mon serveur ne dispose que d'un disque (enfin pour le moment) donc de côté là... peux pas faire grand chose.
Mais par contre je vais voir du côté des outils que tu as cité pour analyser ce qui se passe .

Maximilian ta remarque aurait pu être intéressante malheureusement, c'est pas mon cas. Pour un même export, le premier temps que j'ai eu (et que j'estime "normal") était de 50 sec... J'attends 30 min... Je refais le même export, résultat : 3 min 30 sec grosse nuance.

! Discussion en suspend !

Enfin si quelqu'un d'autre à quelque chose à dire... j'suis toujours à l'écoute !
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 11h45   #5
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Ah oui, en fait j'avais oublié de mentionner quelque chose d'important, qui fait que je ne pense pas être concernée par des requêtes lourdes.

En fait j'ai des milliers de requêtes mais très légères... si ça peut vous éclairer...
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 12h05   #6
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Si c'est un serveur de production il est aussi possible que les 3 minutes soient dues à un pic d'activité.

Il y a aussi l'état des caches qui peut jouer : suivant ce qui toune il y a plus ou moins de mémoire disponible ce qui permet au système d'avoir en cache une partie des fichiers de la base ou non (et même s'il y a du cache les fichiers qui s'y trouvent varient suivant l'activité du serveur), idem pour les clefs dans le cache de MySQL qui peuvent être plus ou moins favorables à l'export.

Alors un pic, plus de ram, un brin de swap et du coup pas de cache pour les accès disques avec MySQL qui n'a pas gardé les bonne clefs en mémoire, ce serait pas de chance mais comme le dit Murpy...
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 17h19   #7
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Toute façon moi j'ai jamais de chanceuuu

Pour redevenir plus sérieuse, je vais aller voir du côté de mon code si je peux pas trouver des astuces, et du côté de mes requêtes si elles sont bien toutes optimisées avec des tables qui ont des index sur les bons champs... j'ai déjà vérifié mais bon... ça me donnera bonne conscience

Car même quand je me servirais des outils de diagnostique... qu'est-ce que je ferais quand je verrais que le proc est en train de cramer ou que la ram n'en peu plus ou que sais-je encore ?

C'est long ? Et alors ? Moi j'ai usé beaucoup de la patience qui me restait pour vous pondre ce code !!! Alors seriez aimable de patienter quelques minutes !!!
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h28.


 
 
 
 
Partenaires

Hébergement Web