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 :

Comment bien optimiser mon code ?


Sujet :

Administration MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Comment bien optimiser mon code ?
    bonjour ,
    j'ai besoin de votre aide pour optimiser mon serveur mysql
    configuration actuelle :
    - innodb
    - 6 cpu
    - RAM 48G
    - temps actuelle 58 minute pour 1656625 requêtes
    - requêtes total du serveur 4694952
    - requêtes selecte 3702390
    - requêtes updates 556762
    - requêtes insert 338760
    - requêtes create 80537
    - requêtes autre 16503


    mon my.cnf
    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
     
     
    [mysqld]
     
    max_allowed_packet= 90M
    innodb_strict_mode = 0
    join_buffer_size = 50M
    table_open_cache = 8000
    tmp_table_size = 25M
    max_heap_table_size = 25M
    sql_mode = ''
     
     
    [innodb]
    innodb_buffer_pool_size = 208G
    innodb_buffer_pool_instances = 64
    innodb_log_file_size = 30G


    quelle config me Conseiller que ce soit matérielle au configuration mysql ?

    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    août 2005
    Messages
    5 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : août 2005
    Messages : 5 374
    Points : 12 726
    Points
    12 726
    Par défaut
    Je pense qu'il va falloir réitérer ta demande dans le bon forum.

    A moins qu'un modérateur puisse déplacer ton message

    ++

  3. #3
    Expert éminent Avatar de 7gyY9w1ZY6ySRgPeaefZ
    Homme Profil pro
    dba
    Inscrit en
    juillet 2007
    Messages
    5 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : juillet 2007
    Messages : 5 132
    Points : 7 175
    Points
    7 175
    Par défaut
    Le nombre de requêtes, c'est beau, mais ça dépend surtout de la complexité de la requête plus que du nombre.
    « requêtes create » : ce n'est pas une requête mais une commande

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    6 747
    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 : 6 747
    Points : 21 145
    Points
    21 145
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Il faut communiquer le script des requêtes les plus consommatrices et celui des tables en jeu, avec leurs index et la volumétrie approximative de chaque table.

  5. #5
    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
    4 819
    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 : 4 819
    Points : 13 822
    Points
    13 822
    Par défaut
    Salut à tous.

    Citation Envoyé par Venomania
    - 6 cpu
    Je ne crois pas que vous ayez six CPU. Un CPU à six cœurs, oui, ce qui donne 12 threads (ou fils).

    Citation Envoyé par Venomania
    j'ai besoin de votre aide pour optimiser mon serveur mysql
    Pour une optimisation, c'est fort complexe à faire et cela prend beaucoup de temps.
    Car cela touche à la modélisation, à l'ajout d'index, à la réécriture des requêtes et à des tests de performances.
    Et au final, vous vous apercevez que vous n'avez presque rien gagner en temps.

    Combien d'utilisateurs ont accès à votre serveur mysql ?
    Est-ce que votre serveur est uniquement dédié à mysql ou avez-vous d'autres choses qui tournent en parallèle ?

    Sinon, en quoi consiste votre projet ?

    Citation Envoyé par Venomania
    - temps actuelle 58 minutes pour 1656625 requêtes
    Ce qui donne une moyenne de 0,0021006564551422 secondes par requête.
    Ou si vous préférez, 2 millièmes de secondes par requête.

    Qu'est-ce que vous voulez comme optimisation ?
    Et tout ça avec MySql ? Vous avez un excellent matériel, non ?

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

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    bonjour Artemus24,

    pour les utilisateur actuellement je les simule avec des threads (15 threads ).

    mon projet consiste a passer d'une base mysql en 5.5 mysam a une base innodb en 8.0.22

    Et je souhaite attendre les 50 minute en innodb parce que avec les test que j'ai fait en mysam j'atteins ce temps la .

    oui c'est 100% mysql et oui j ai un excellent matériel.

    avec mon chef de section on a eu des nouvelles données est on vue que les requêtes les plus lente cette les insert du coup on se demande si on passe du ddr au ssd on gagner le temps souhaiter ?


    merci d’avance

  7. #7
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 20 560
    Points : 48 667
    Points
    48 667
    Billets dans le blog
    1
    Par défaut
    L'essentiel des performances dans une base de données relationnelle n'est pas le fait du hardware, mais :
    1) d'une bonne modélisation respectueuse des règles de normalisation. À lire sur le sujet https://fsmrel.developpez.com/basesr...normalisation/
    2) d'une indexation qui est fonction des requêtes réellement effectuées
    3) de la qualité du moteur relationnel. MySQL à ce niveau est le plus mauvais des SGBDR comparé à Oracle, MS SQL Server ou même PostGreSQL

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    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
    4 819
    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 : 4 819
    Points : 13 822
    Points
    13 822
    Par défaut
    Salut Venomania.

    Citation Envoyé par Venomania
    du coup on se demande si on passe du ddr au ssd on va gagner le temps souhaité ?
    La DDR, c'est un type de mémoire RAM.
    Je pense que vous vouliez dire, passer pour vos disque du type HDD (Hard Drive Disk) au type SSD (Solid State Drive).
    C'est une solution, mais qui va permettre de gagner un peu de temps.

    Le gros du problème des performances d'un serveur est le serveur lui-même.

    Je pense que vous devez revoir de fond en comble la modélisation de votre base de données.
    Il y sûrement des points à améliorer.

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

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2020
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup vous tous ,
    Vos réponses m'ont beaucoup aidé .
    Mais j'ai également une autre question. Je viens de tester ma base en MariaDB et, pour les même perfs, j'ai eu un temps de 35 minutes. Est-ce que vous savez de où pourrait venir cet écart de temps ?

    Merci d'avance !

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    6 747
    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 : 6 747
    Points : 21 145
    Points
    21 145
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    S'il y a des contraintes d'intégrité référentielle dans le script, vu qu'elles sont ignorées avec MyIsam (), mais appliquées avec Innodb (fort heureusement !) ça peut expliquer au moins en partie un temps de traitement plus long sur les requêtes de mise à jour.

Discussions similaires

  1. Comment bien optimiser mon code
    Par Miigui dans le forum Général Java
    Réponses: 6
    Dernier message: 05/06/2019, 12h28
  2. Comment bien déboguer son code ?
    Par D[r]eadLock dans le forum Débuter
    Réponses: 46
    Dernier message: 04/07/2013, 11h48
  3. Réponses: 2
    Dernier message: 26/07/2011, 10h19
  4. [String]Comment etendre le mon Code ASCII??
    Par lanfeustdetroll dans le forum API standards et tierces
    Réponses: 24
    Dernier message: 25/07/2005, 15h42
  5. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 11h29

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