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

Administration MySQL Discussion :

Probleme de performance sur mysql


Sujet :

Administration MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Dev
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Probleme de performance sur mysql
    Bonjour,

    je dois analyse une base de donnee mysql pour des problemes de perfomance.

    j'aimerais avoir vos avis sur les meilleurs logiciel ou script d'analyse de performance.

    merci

    Captflemme

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Captain_Flemme.

    C'est un peu vague comme demande.
    En ce qui me concerne, je fais une création d'une base de données de test et je lance différents scripts en parallèle, histoire de voir comment se passe les conflits d'accès, les performances, les erreurs systèmes ...

    Ne pas oublier aussi de bien paramétrer le fichier My.Ini sinon cela provoquera une dégradation des performances.

    Normalement, il faut tenir compte de ces performances tout au long du développement de votre application.
    Ce n'est pas que le SGBDR MySql qui doit être en cause.
    Il y a aussi la modélisation, les requêtes, ...

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Dev
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    merci mais justement c'est ce que j'ai fait creer une base de test mais tu utilise quoi comme script ??

    et le probleme c'est que c'est un client qui me demande d'analyser une base que je n'ai pas fait.

    la base fait 104 go ce que je trouve trop gros !! pour mysql.
    en plus j'ai regarder le my.ini (sous windows)
    il ont mis :
    query_cache_size=0
    query_cache_type=0

    ca doit ralentir les select ?? tu en penses quoi ???

    sinon pour la partie modelisation ca je peux rien faire vu que le soft tourne deja et que je ne suis pas celui qui l'a cree.

    est ce que l'on peut clusterise la base pour repartir sur plusieurs machine le calcul.

    sinon avec la conf on peut ameliore les chose mais pas changer.

    merci

    Capt

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Captain_Flemme.

    Citation Envoyé par Captain_Flemme
    tu utilises quoi comme script ??
    Ce sont mes scripts SQL de création de ma base de données MySql.

    Citation Envoyé par Captain_Flemme
    un client qui me demande d'analyser une base que je n'ai pas fait.
    Ce n'est pas bien compliquer à faire.
    Tu dois faire l'inventaire de toutes les requêtes utilisées dans tes applications.
    Je parle bien sûr de la base de données que tu dois tester.
    Pour chacune d'elle, tu dois obtenir la performance que tu obtiens en l'état actuelle.
    S'intéresser aux requêtes qui ont un temps de réponse > 1s.

    Vérifier s'il y a bien des index sur les jointures et sur la clause where.
    Il est parfois nécessaire de réécrire la requête si celle-ci n'est pas comforme à une bonne performance.
    Si vous n'avez pas l'habitude de ce genre d'exercice, cela sera difficile de rendre les accès performants.

    Revoir la modélisation qui peut-être la cause principale de la dégradation des performances.

    Citation Envoyé par Captain_Flemme
    la base fait 104 go ce que je trouve trop gros !! pour mysql.
    Ce n'est pas un problème de taille mais un problème d'accès.
    Si l'accès se fait directement à la ligne que vous recherchez, que ce soit sur 10 Mo ou sur des tera octets, la performance doit être la même.
    La différence vient dans le balayage de vos tables et dans le critère de sélection des lignes.
    La résolution de la performance se trouve essentiellement dans les index.
    Ce n'est pas toujours évident car un index peut produire un excellent résultat pour une requête et une performance dégradée pour une autre.

    Et si l'on met trop d'index, les insertions seront trop lentes.
    Ce n'est pas grave en soi si l'on fait peu d'insertion.

    Citation Envoyé par Captain_Flemme
    sinon pour la partie modélisation ca je peux rien faire vu que le soft tourne déjà et que je ne suis pas celui qui l'a crée.
    On peut modifier la modélisation de la base et remplacer les anciennes requêtes par des view.
    A la condition que la nouvelle approche soit plus performante.

    Citation Envoyé par Captain_Flemme
    est ce que l'on peut clusterise la base pour repartir sur plusieurs machine le calcul.
    On peut partitionner les tables si les requêtes ne s'intéressent qu'aux lignes les plus récentes.
    Par exemple, archiver les lignes par moi. De cela, il y aura une partition par mois, mais l'ensemble sera considéré comme une seule table.
    On peut aussi répartir les partitions sur différents contrôleurs de disques, afin d'améliorer la performance.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Dev
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    merci pour tes réponses

    je sasi faire une analyse et développer from scratch mais passer derrière je n'ai jamais fait.

    je sais que les index sont d'une importance critique par contre il peuvent etre utilise dans plusieurs requêtes et impacte différemment plusieurs requêtes.
    pour savoir quels sont les plus critique il faut avoir développer la base.

    j'ai vu que les index a colonne multiple sont plutot mal gere.

    sinon on peut deja ameliore les performances avec de la conf.

    merci je vais regarder ce que tu m'as dit et je reviens vers toi si j'ai d'autre question.

    cdt

    Capt Flemme

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    la base fait 104 go
    Ça fait effectivement beaucoup.

    A quoi est-ce dû ?
    Est-ce que, par hasard, il y aurait des tables avec des fichiers enregistrés sous forme de blob ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Captain_Flemme Voir le message
    je dois analyse une base de donnee mysql pour des problemes de perfomance.

    j'aimerais avoir vos avis sur les meilleurs logiciel ou script d'analyse de performance.
    Puisque des problèmes de performance sont identifiés, c'est qu'on a relevé les noms des traitements qui sont longs

    À partir de là, vous pouvez déjà, sans frais, faire un explain des requêtes des traitements concernés, l'optimiseur analysera les stratégies d'accès.
    À chasser autant que faire se peut : requêtes non ensemblistes à base de curseurs, prédicats non sargables dans les jointures ou les restrictions (typiquement, prédicat <>, like '%xxx' ou fonction scalaire par exemple).
    Dans un deuxième temps, la chasse aux index inutiles peut être un plus (essentiellement pour ce qui concerne les insertions).
    Si ce n'est pas suffisant, c'est peut être le modèle de données qui est en cause, mais là, c'est plus long et plus coûteux à corriger

    Bien sûr, il faut aussi vérifier la bonne organisation des tables et faire des réorganisations le cas échéant
    Et aussi penser aux purges périodiques

Discussions similaires

  1. Probleme de performance sur une vue
    Par nomissamoht dans le forum Oracle
    Réponses: 1
    Dernier message: 06/03/2009, 14h51
  2. probleme de requete sur mysql
    Par rajaben dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/08/2008, 12h32
  3. Problème de performance sur un serveur
    Par vbcasimir dans le forum Administration système
    Réponses: 3
    Dernier message: 30/06/2006, 01h08
  4. [MySQL 4.1] probleme d'accents sur une requete SQL
    Par tatayoyo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/11/2005, 16h06

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