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 via mysqltuner


Sujet :

Administration MySQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Optimisation via mysqltuner
    Bonjour à tous,

    Sur deux serveur database mysql (de deux sites webs différents) , j'ai lancé un mysqltuner (on a des timeout mais sur le serveur web, mais on ne sait pas vraiment d'ou ça vient pour le moment)

    Voici les optimisations à apporter conseiller par mysqltuner, la databse tourne sur une machine avec 4vcpu et 115 Go de ram (ubuntu 16.04 serveur)



    db01 PROD

    recommandation de mysqltuner:

    Variables to adjust:
    query_cache_type (=1)
    join_buffer_size (> 256.0K, or always use indexes with joins)
    table_open_cache (> 431)
    innodb_buffer_pool_size (>= 1G) if possible.



    db02 PROD:

    Variables to adjust:
    max_connections (> 151)
    wait_timeout (< 28800)
    interactive_timeout (< 28800)
    query_cache_type (=1)
    sort_buffer_size (> 256K)
    read_rnd_buffer_size (> 256K)
    join_buffer_size (> 256.0K, or always use indexes with joins)
    table_open_cache (> 431)
    innodb_buffer_pool_size (>= 2G) if possible.

    J'aurai voulu avoir vos avis et surtout comprendre un peu les paramètres (je débute un peu sur mysql ^^)


    Merci d'avance

  2. #2
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 687
    Points : 2 014
    Points
    2 014
    Par défaut
    Bonsoir,

    il serait intéressant que tu précises la version utilisée, MySQL 5.7 probablement ?

    Concernant les recommandations fournies par mysqltunner, elles sont différentes sur les deux serveurs, est-ce normal ?
    Avant toute modification sur un serveur de production, je t'encourage vivement à utiliser un serveur de test pour tes essais, et les tests de charge (avec sysbench par exemple)

    Les timeouts se voient sans doute dans le fichier de log d'erreurs, sinon au niveau de l'application... en espérant qu'elle trace les erreurs.

    • max_connections devrait être au moins équivalent à la somme du nombre maximal de connexions par les serveurs web + les connections de service. La requête SHOW PROCESSLIST permet de voir la liste des clients connectés.
    • query_cache_type peut être activé dans le my.cnf (=1) mais il est recommandé de garder la taille du cache (query_cache_size) inférieure à 100Mo.
      Notes bien qu'activer le cache peut en réalité avoir un effet pénalisant sur les performances, tout dépend des applications.
    • join_buffer_size ne sert que pour les jointures sans index, ce qui est considéré comme une mauvaise pratique. Tu peux investiguer les requêtes lentes via le log, ou en utilisant la requête adhoc

      SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST where time>5 and command<>"Sleep"
    • table_open_cache est normalement à 2000, pas 431.
    • innodb_buffer_pool_size est le paramètre le plus important et devrait être au moins à 50% voir 75% de la mémoire disponible... si les données occupent cet espace et si les tables sont en innodb. Sinon pourquoi avoir 115Go de RAM pour ce SGBD ?


    Cordialement

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    excusez-moi c'est une erreur de frappe, nous avons 15 Go de Ram sur les deux serveurs avec 4vcpu

    En faite ce sont deux sites web différents, pour chaque site web, il y a un serveur web + un serveur database

    Pour la version MYSQL, je vais voir cela et poster la version . Pour vos autre suggestions, je vais lire attentivement et suivre vos propositions

    Merci beaucoup en tout cas ^^^

  4. #4
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 687
    Points : 2 014
    Points
    2 014
    Par défaut
    J'oubliais le sort_buffer_size qui devrait certainement être augmenté

    Dans le my.cnf
    [mysqld]
    sort_buffer_size = 4M
    Mais comme pour les autres paramètres, cette modification réclamera un benchmark de votre part.. ainsi que des tests avec votre application.

    N'hésitez pas à marquer cette discussion comme résolue et à la réouvrir si besoin était

Discussions similaires

  1. optimisation via index?
    Par Thsl007 dans le forum SQLite
    Réponses: 0
    Dernier message: 23/12/2010, 09h20
  2. Belle erreur 500 sur optimisation via .htaccess
    Par bpdelavega dans le forum Apache
    Réponses: 1
    Dernier message: 02/11/2010, 17h06
  3. Optimisation de script via SQL
    Par Dermiste33 dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/08/2009, 10h47
  4. Optimisation lecture fichier via un shell script
    Par macleod dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 31/07/2007, 12h46
  5. Réponses: 2
    Dernier message: 01/03/2007, 11h00

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