IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils MySQL Discussion :

[MySQL4.1.12] Performances aléatoires ?


Sujet :

Outils MySQL

  1. #1
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    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.

  2. #2
    Membre régulier Avatar de jp_rennes
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Points : 86
    Points
    86
    Par défaut
    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

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    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

  4. #4
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    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.

  5. #5
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    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.

  6. #6
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    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...

  7. #7
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    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.

Discussions similaires

  1. [2.x] Performance Symfony2 aléatoire
    Par Sergei75 dans le forum Symfony
    Réponses: 5
    Dernier message: 17/01/2012, 09h48
  2. Générateur de nombres aléatoire performant
    Par vinzzzz dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 14/03/2007, 16h41
  3. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  5. [Kylix] dbexpress pour mysql4.0.1
    Par chico dans le forum EDI
    Réponses: 2
    Dernier message: 06/06/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo