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 :

Process Mysql 100 %


Sujet :

Administration MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur / Concepteur
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur / Concepteur

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Process Mysql 100 %
    bonjour,
    j'ai mon application qui prend 100 % de la cpu
    j'uitlise le script mysqltuner.pl pour améliorer les requetes sql
    le résultat :
    General recommendations:
    Add skip-bdb to MySQL configuration to disable BDB
    Run OPTIMIZE TABLE to defragment tables for better performance
    Reduce your overall MySQL memory footprint for system stability
    Enable the slow query log to troubleshoot bad queries
    Temporary table size is already large - reduce result set size
    Reduce your SELECT DISTINCT queries without LIMIT clauses
    Variables to adjust:
    *** MySQL's maximum memory usage is dangerously high ***
    *** Add RAM before increasing MySQL buffer variables ***
    query_cache_size (> 16M)
    sort_buffer_size (> 1M)
    read_rnd_buffer_size (> 256K)

    comment peut-on améliorer le temps de réponse sans augmenter la mémoire ?
    mon my.cnf
    cat /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Default to using old password format for compatibility with mysql 3.x
    # clients (those using the mysqlclient10 compatibility package).
    old_passwords=1
    query_cache_size = 16M
    tmp_table_size = 256M
    max_heap_table_size = 512M
    innodb_buffer_pool_size = 3G
    table_cache= 512M
    thread_cache_size = 10
    key_buffer_size = 600M
    sort_buffer_size =1M
    read_rnd_buffer_size=256K
    open_files_limit = 65535
    max_connections = 100
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Normalement à l'installation tu indiques les paramètres de ta machine, MySQL va déterminer les meilleurs configurations mémoires etc...

    Sans ajouter de la mémoire c'est délicat.

    Après, ce que tu pourrais faire c'est:

    - Utiliser des tables MyIsam plutot que InnoDB. Ces tables n'ont pas de système de clé étrangère, ce qui améliore grandement la rapidité de lecture et d'écriture.
    Il faut voir si l'usage de conviens.

    -Tu peux aussi voir si tu as des bons index pour tes tables (en fonction de tes requêtes.

    - Tu peux amélioré aussi la performance de tes requêtes (ce qui joue énormément sur le temps de réponse)
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    - Utiliser des tables MyIsam plutot que InnoDB. Ces tables n'ont pas de système de clé étrangère, ce qui améliore grandement la rapidité de lecture et d'écriture.
    Il faut voir si l'usage de conviens.
    Bonjour,

    J'aimerai que vous developpiez ces deux points la (pour ma culture personnelle) :
    - En quoi une fk va ralentire la lecture ?
    - En quoi un lock de table engendré par l'utilisation de MyIsam lors d'un update/insert/delete va rendre les cycles de lecture / ecriture plus rapide dans un système un poil concurent ?

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Je suis sur que ta culture personnelle est très bien, tu me tests c'est tout.

    1) Je me suis rapidement exprimer:
    - Ce n'est pas le fk qui fait que la lecture peut être plus lente.
    - Ce qui n’empêche pas qu'en MyIsam la lecture peut être plus rapide, notamment à cause du fait d'index Full text, pas de possibilité de roll back ni de gestion de crash comme pour InnoDB.

    2) Sur un système concurrent en effet, le système de queue peut avoir un effet néphaste... Si on concidère que un poil concurrent, tu entends pas là plus de 10-15 requêtes par secondes (qui prendrait plus de 10ms chacun)

    Mais je peux me tromper.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Non pas vraiment pour le test, je n'utilise pas MySql.

    Mais c'est un point qui m'interesse (la lenteur supposée de InnobDb vs MyIsam en lecture) vu que ce cas m'a déjà été posé dans mon travail.


    j'avais trouvé des bench par ci par là qui se contredisaient, ex :
    http://blogs.oracle.com/MySQL/entry/...am_performance
    http://www.mysqlperformanceblog.com/...hmarks-part-1/

    et d'autre où MyIsam était devant InnobDb (pour du MySql 5+).


    Bref au fur et à mesure de mes recherches, à part l'option fullText, je n'avais pas trouvé de point positif à l'utilisation de MyIsam.

    Mais des cas m'ont surement échappé et ceci des personnes qui ont de l'expérience avec MySql peuvent me l'apporter

  6. #6
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    J'en ai pas "la preuve", mais il se dit quand même que niveau mémoire les requêtes sur des tables InnoDB peuvent consommer jusqu'à 2 ou 3 fois plus de mémoires. (Donc dans le cas de notre amis, toujours si il n'a pas de table transactionnel, ça peut l’intéresser).

    Cette différence se fait surement sur le fait qu'en InnoDB les requêtes sont transactionnels, possibilité de roll-back et avec gestion des clé étrangères (avec vérification de cohérence).

    De ce point de vue, InnoDB est plus "sûr" pour l'intégrité...

    Maintenant si tu dois faire une recherche sur une table qui contient des millions de lignes... MyIsam sera moins gourmand donc plus rapide. (Mais possibilité de crasher le serveur)
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2011, 11h53
  2. [PERL/MYSQL] Temps de process interminable !!
    Par LE NEINDRE dans le forum SGBD
    Réponses: 7
    Dernier message: 22/10/2008, 12h45
  3. SAGE Gestion commercial 100 et MySQL
    Par Nyrvan dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 21/01/2007, 08h01
  4. [mySQL]Requete qui prend 100 % du CPU et n'aboutit pas
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 20
    Dernier message: 12/10/2005, 09h36
  5. performances mysql (10 a 100 millions de rows)
    Par killy-kun dans le forum Outils
    Réponses: 1
    Dernier message: 21/07/2005, 15h06

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