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

Requêtes MySQL Discussion :

Mysql Gourmand CPU


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut Mysql Gourmand CPU
    Bonjour,

    J'ai une base mysql avec certaines tables qui sont très grosse (entre 1,5 et 5 Go).
    J'ai bien mis des index partout et optimisé mes requetes php.
    Mysql est seul sur un serveur Gentoo (2 Go de RAM et Proc Intel Pentium 4 HyperThreading 3.00 GHz).

    Le pb est que mon load average est super elevé (des pointes à 10) et il semble que mysql en soit la cause.

    La version de mysql est 5.0.40 et voici 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    # The following options will be passed to all MySQL clients
    [client]
    #password                                       = your_password
    port                                            = 3306
    socket                                          = /var/run/mysqld/mysqld.sock
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [php-cgi]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysql]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysqladmin]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysqlcheck]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysqldump]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysqlimport]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [mysqlshow]
    character-sets-dir=/usr/share/mysql/charsets
    default-character-set=latin1
     
    [myisamchk]
    character-sets-dir=/usr/share/mysql/charsets
     
    [myisampack]
    character-sets-dir=/usr/share/mysql/charsets
     
    # use [safe_mysqld] with mysql-3
    [mysqld_safe]
    err-log                                         = /var/log/mysql/mysql.err
     
    # add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
    [mysqld]
    character-set-server            = latin1
    default-character-set           = latin1
    user                                            = mysql
    port                                            = 3306
    socket                                          = /var/run/mysqld/mysqld.sock
    pid-file                                        = /var/run/mysqld/mysqld.pid
    log-error                                       = /var/log/mysql/mysqld.err
    basedir                                         = /usr
    datadir                                         = /var/lib/mysql
    skip-locking
    key_buffer                                      = 16M
    max_allowed_packet                      = 1M
    table_cache                             = 64
    sort_buffer_size                        = 512K
    net_buffer_length                       = 8K
    read_buffer_size                        = 256K
    read_rnd_buffer_size            = 512K
    myisam_sort_buffer_size         = 8M
    language                                        = /usr/share/mysql/english
     
    # point the following paths to different dedicated disks
    tmpdir                                          = /tmp/
     
    skip-innodb
    innodb_buffer_pool_size = 16M
    innodb_additional_mem_pool_size = 2M
     
    innodb_data_file_path = ibdata1:10M:autoextend:max:128M
    innodb_log_file_size = 5M
    innodb_log_buffer_size = 8M
    set-variable = innodb_log_files_in_group=2
    innodb_flush_log_at_trx_commit = 1
    innodb_lock_wait_timeout = 50
     
    [mysqldump]
    quick
    max_allowed_packet                      = 16M
     
    [mysql]
     
     
    [isamchk]
    key_buffer                                      = 20M
    sort_buffer_size                        = 20M
    read_buffer                             = 2M
    write_buffer                            = 2M
     
    [myisamchk]
    key_buffer                                      = 20M
    sort_buffer_size                        = 20M
    read_buffer                             = 2M
    write_buffer                            = 2M
     
    [mysqlhotcopy]
    interactive-timeout
    Auriez vous des idées d'optimisation ?

    D'avance Merci

  2. #2
    Membre éprouvé Avatar de giltonic
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 109
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    (...)
    key_buffer                                      = 16M
    (...)
    table_cache                             = 64
    (...)
    En regradant ton fichier de config en diagionale, je constate que :
    table_cache et key_buffer sont à optimiser suivant ta config.

    je te conseille les doc de mysql qui sont bien faites

    http://dev.mysql.com/doc/refman/5.0/fr/table-cache.html

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut
    Ok je vais regarder ce point là...

    Merci pour ton aide

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

Discussions similaires

  1. Mysql n'utilise que 1% du CPU et que 1.1% de la RAM !
    Par Ben44 dans le forum Administration
    Réponses: 3
    Dernier message: 18/09/2007, 10h39
  2. ressource CPU serveur MySQL
    Par castasql dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/08/2007, 19h47
  3. Mysql 5 => 99.9% CPU après requète
    Par neissa dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/09/2006, 11h15
  4. Optimiser une table sur SQL server trop gourmande en CPU
    Par molarisapa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/06/2006, 16h17
  5. [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

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