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 :

Optimisation de base de données [MySQL-8.0]


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Optimisation de base de données
    bonjour,
    je suis actuellement en train de changer la version de mon serveur Mysql , ma version actuelle et 5.6 Mysam je compte passer en Mysql 8.0.23 innodb .
    Mais avent de changer de version je souhaite avoir des performance équivalente ou meilleur pour mon serveur innodb donc j'ai créer un script qui simule une journée de raquette .
    j'ai exécuter ce script dans ma machine 5.6 et j'ai eu un temps de 1h 4minute 27s puis j'ai lancer le même script sur ma machine qui est en 8.0.23 et j'ai un résulta de 3h 1minute 31 s en configurant mon serveur mysql j'ai réussie a descendre ce temps a 1h 26 minute mais encore loin de mais 1h4 .

    c'est pour ça que j ai besoin de vous, pouvez vous m'aider a attendre les 1h4 voir moins ? Merci d'avance


    Config de mon serveur en 8.0.23
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    max_allowed_packet= 100M
    innodb_strict_mode = 0
    join_buffer_size =39G
    tmp_table_size = 150M
    max_heap_table_size = 150M
    sql_mode = ''
    innodb_buffer_pool_size=40G
    innodb_log_file_size =290M
    innodb_log_files_in_group=33
    binlog_cache_size = 20M
    innodb_buffer_pool_instances=37
    table_open_cache=524288
    innodb_parallel_read_threads = 25
    expire_logs_days        = 10
    max_binlog_size         = 100M
    max_connections        = 2000
    open_files_limit        = 163840
    thread_cache_size       = 25
    thread_stack            = 192K
    sort_buffer_size = 256k
    read_rnd_buffer_size = 256k
    config physique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    6 vCPUs
    47G  Mémoire Ram

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 129
    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 129
    Points : 38 521
    Points
    38 521
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    MySQL ne sait pas utiliser l'optimisation sémantique et, comme MyISAM n'utilise pas les contraintes FK contrairement à INNODB, il n'est pas aberrant que le fait de passer de l'un à l'autre moteur pénalise un peu les perfs, mais au bénéfice de l'intégrité des données.

    Cela étant, est-ce que votre script est représentatif des requêtes qui seront réellement effectuées sur la base ?

    Si certaines sont lentes, il faut en communiquer le script ainsi que le DDL des tables et index.

  3. #3
    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 377
    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 377
    Points : 19 049
    Points
    19 049
    Par défaut
    Salut à tous.

    L'optimisation d'un SGBDR ne se fait pas en modifiant quelques paramètres ici et là.
    Il faut travailler sur :

    --> la modélisation de votre base de données.
    Il y a certainement des choses qui ne vont pas, que vous devriez améliorer afin d'augmenter la performance.

    --> créer des partions de vos tables.

    --> travailler sur chaque requête de votre application.
    Cela consiste par sa réécriture, l'ajout d'index, de la dégradation de la modélisation, voire même d'une autre approche.

    --> le nombre maximum d'utilisateurs.

    --> le nombre de cœurs, la vitesse du processeur, la taille de la RAM ...

    --> le paramétrage de my.ini.
    Il faut faire des tests sur chaque requête et voir si en modifiant le paramétrage, on peut améliorer quoi que ce soit.
    C'est un travail fastidieux, qui dépend aussi de la volumétrie et de la dégradation de la base de données.
    C'est à faire tous les jours, entre autre maintenir vos tables dans un état stable.

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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2020
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    je vous remercie de vous réponses mais c'est pas moi qui développe l’application du coup niveaux requête je peut pas toucher mais je trouver bizarre que on ai une différence de 50% juste en changent le moteur de stockage.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 129
    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 129
    Points : 38 521
    Points
    38 521
    Billets dans le blog
    9
    Par défaut
    Effectivement, si les mesures sont faites dans les mêmes conditions : même charge machine, nombre de connexions identiques, mêmes requêtes jouées avec les mêmes données et les mêmes statistiques, alors il faut vérifier quels sont les paramètres à ajuster entre l'une et l'autre version.

    Malheureusement, MySQL ne fournit pas de préconisations de paramétrage liées au changement de version.

  6. #6
    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 377
    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 377
    Points : 19 049
    Points
    19 049
    Par défaut
    Salut à tous.

    Un paramétrage par défaut n'est pas nécessairement adapté à votre environnement, quelque soit le SGBDR que vous utilisez.

    Citation Envoyé par Venomania
    ce n'est pas moi qui développe l’application du coup niveaux requête je ne peux pas toucher
    Si vous ne pouvez pas intervenir dans l'application, voire dans la base de données, vous risquez de ne pas pouvoir optimiser quoi que ce soit.

    Citation Envoyé par Venomania
    je trouver bizarre que l'on ai une différence de 50% juste en changent le moteur de stockage.
    Non, cela ne me parait pas du tout bizarre.

    La vocation du moteur MyIsam est de rendre les accès en lecture très rapide.
    Cela se fait au détriment de l'intégrité des données ou si vous préférez de la gestion des transactions.
    La base de données n'est pas mise à jour continuellement. C'est plutôt une base d'archive.

    Inversement, InnoDB a pour vocation de gérer l'intégrité des données.
    De ce fait, la base est continuellement mise à jour.
    Pour rendre la base stable, il est nécessaire de faire un tas de contrôle lors des insertion ou des modifications.
    Et je ne parle même pas de la gestion des journaux qui est absente dans le moteur MyIsam.

    Comme je le préconise, vous devez faire des tests et voire pourquoi telle requête a une performance dégradée.
    Une optimisation ne se fait pas par un copier/coller de ce que l'on peut trouver ailleurs, mais bien un réglage particulier de votre environnement.
    Oui, je sais, c'est long à faire et surtout fastidieux !

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de base de données
    Par Secco dans le forum IHM
    Réponses: 1
    Dernier message: 29/07/2008, 12h34
  2. Optimiser une base de données
    Par mister3957 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/12/2007, 11h44
  3. optimiser une base de données oracle
    Par ALLAM dans le forum Administration
    Réponses: 6
    Dernier message: 10/04/2007, 08h12
  4. Listing / Comment optimiser cette base de donnée
    Par ds-network dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/02/2007, 09h08
  5. Optimisation de base de donnée MySQL
    Par gnafron dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/02/2007, 11h15

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