optimisation bdd mysql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par omelhor, 7 Mars 2013.

  1. omelhor
    omelhor WRInaute occasionnel
    Inscrit:
    9 Février 2007
    Messages:
    280
    J'aime reçus:
    0
    Bonsoir,

    Je cherche a optimiser ma bdd, et je suis tombé sur le script tuning-primer.sh qui m'a donné les résultats ci-dessous.
    Est-ce que quelqu'un saurait utilisé ces résultats ou du moins en tirer l'essentiel ?

    Merci beaucoup pour votre aider

    Code:
     ./tuning-primer.sh
    
            -- MYSQL PERFORMANCE TUNING PRIMER --
                 - By: Matthew Montgomery -
    
    MySQL Version 5.0.44-log x86_64
    
    Uptime = 47 days 3 hrs 54 min 33 sec
    Avg. qps = 188
    Total Questions = 770046854
    Threads Connected = 1
    
    Server has been running for over 48hrs.
    It should be safe to follow these recommendations
    
    To find out more information on how each of these
    runtime variables effects performance visit:
    http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html
    Visit http://www.mysql.com/products/enterprise/advisors.html
    for info about MySQL's Enterprise Monitoring and Advisory Service
    
    SLOW QUERIES
    The slow query log is enabled.
    Current long_query_time = 5 sec.
    You have 5219 out of 770046875 that take longer than 5 sec. to complete
    Your long_query_time seems to be fine
    
    BINARY UPDATE LOG
    The binary update log is NOT enabled.
    You will not be able to do point in time recovery
    See http://dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html
    
    WORKER THREADS
    Current thread_cache_size = 4
    Current threads_cached = 3
    Current threads_per_sec = 0
    Historic threads_per_sec = 0
    Your thread_cache_size is fine
    
    MAX CONNECTIONS
    Current max_connections = 1000
    Current threads_connected = 1
    Historic max_used_connections = 330
    The number of used connections is 33% of the configured maximum.
    Your max_connections variable seems to be fine.
    
    INNODB STATUS
    Current InnoDB index space = 64 K
    Current InnoDB data space = 4 M
    Current InnoDB buffer pool free = 66 %
    Current innodb_buffer_pool_size = 16 M
    Depending on how much space your innodb indexes take up it may be safe
    to increase this value to up to 2 / 3 of total system memory
    
    MEMORY USAGE
    Max Memory Ever Allocated : 1.68 G
    Configured Max Per-thread Buffers : 3.28 G
    Configured Max Global Buffers : 610 M
    Configured Max Memory Limit : 3.88 G
    Physical Memory : 23.59 G
    Max memory limit seem to be within acceptable norms
    
    KEY BUFFER
    Current MyISAM index space = 721 M
    Current key_buffer_size = 512 M
    Key cache miss rate is 1 : 124
    Key buffer free ratio = 50 %
    Your key_buffer_size seems to be too high.
    Perhaps you can use these resources elsewhere
    
    QUERY CACHE
    Query cache is enabled
    Current query_cache_size = 72 M
    Current query_cache_used = 53 M
    Current query_cache_limit = 2 M
    Current Query cache Memory fill ratio = 74.07 %
    Current query_cache_min_res_unit = 4 K
    MySQL won't cache query results that are larger than query_cache_limit in size
    
    SORT OPERATIONS
    Current sort_buffer_size = 512 K
    Current read_rnd_buffer_size = 508 K
    Sort buffer seems to be fine
    
    JOINS
    Current join_buffer_size = 132.00 K
    You have had 0 queries where a join could not use an index properly
    Your joins seem to be using indexes properly
    
    OPEN FILES LIMIT
    Current open_files_limit = 7010 files
    The open_files_limit should typically be set to at least 2x-3x
    that of table_cache if you have heavy MyISAM usage.
    Your open_files_limit value seems to be fine
    
    TABLE CACHE
    Current table_cache value = 3000 tables
    You have a total of 1162 tables
    You have 2975 open tables.
    Current table_cache hit rate is 4%
    , while 99% of your table cache is in use
    You should probably increase your table_cache
    
    TEMP TABLES
    Current max_heap_table_size = 936 M
    Current tmp_table_size = 936 M
    Of 319042 temp tables, 44% were created on disk
    Perhaps you should increase your tmp_table_size and/or max_heap_table_size
    to reduce the number of disk-based temporary tables
    Note! BLOB and TEXT columns are not allow in memory tables.
    If you are using these columns raising these values might not impact your
    ratio of on disk temp tables.
    
    TABLE SCANS
    Current read_buffer_size = 1 M
    Current table scan ratio = 29189 : 1
    You have a high ratio of sequential access requests to SELECTs
    You may benefit from raising read_buffer_size and/or improving your use of indexes.
    
    TABLE LOCKING
    Current Lock Wait ratio = 1 : 1278
    You may benefit from selective use of InnoDB.
    If you have long running SELECT's against MyISAM tables and perform
    frequent updates consider setting 'low_priority_updates=1'
    If you have a high concurrency of inserts on Dynamic row-length tables
    consider setting 'concurrent_insert=2'.
    
     
  2. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    A l'arrache (tu dis pas trop de spec sur ton serveur, on a la RAM par tuning primer):
    Code:
    key_buffer_size = 1G
    query_cache_min_res_unit = 1K
    query_cache_limit = 4M
    join_buffer_size = 256K
    
    # Si ton système supporte
    table_cache = 4096
    
    tmp_table_size = 2G # 1G pour commencer, mais dépends de tes BLOG/TEXT
    max_heap_table_size = 2G (même valeur que tmp_table_size)
    
    A noter que ça dit clairement que tu n'utilises pas assez InnoDB pour tes tables, ça pourrait être intéressant de l'activer pour certaines tables.

    Je ne connais pas ton site mais :
    Current max_connections = 1000
    Current threads_connected = 1
    Historic max_used_connections = 330
    Est énorme, j'ai rarement des cas où ça doit dépasser les 250.
    Tu as été une fois à 330, mais si derrière le PHP et serveur rame, c'est des fois mieux de ne pas accepter plus de connexions.

    Aussi, tu es en 5.0.44. si tu peux mettre à jour sur du 5.5, tu auras un gain de perf, surtout si tu te mets à utiliser de l'InnoDB.

    (modos, peut-être section administration).
     
  3. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Tu peux aussi monter "thread_cache_size" à 8, voir 16 (peut avoir l'effet inverse à 16, à 8, tu devrais avoir du "bien"), à mettre aussi en fonction du nombre de core qu'à ta machine.
     
  4. omelhor
    omelhor WRInaute occasionnel
    Inscrit:
    9 Février 2007
    Messages:
    280
    J'aime reçus:
    0

    Merci pour ta réponse

    Actuellement je suis en 5.0.44-log , je vais voir si cela est très facile de passer mysql en 5.5 ( je suis pas trop calé la dessus et j'ai pas envie de tout planter)

    Voici un peut plus de données sur les ressources de mon serveur :

    top - 16:21:40 up 62 days, 4:11, 1 user, load average: 7.39, 5.91, 5.87
    Tasks: 413 total, 2 running, 411 sleeping, 0 stopped, 0 zombie
    Cpu(s): 4.2% us, 1.2% sy, 0.0% ni, 92.1% id, 2.4% wa, 0.0% hi, 0.1% si
    Mem: 24744184k total, 24524560k used, 219624k free, 1614464k buffers
    Swap: 1051832k total, 88016k used, 963816k free, 18772240k cached

    J'ai 8 processeurs :
    cat /proc/cpuinfo | grep processor | wc -l
    8

    J'ai actuellement Current max_connections = 1000 , si j'ai bien compris c'est beaucoup trop haut quand on regarde le Historic max_used_connections = 330 ???

    Quel est la signigication de threads_connected ??

    J'ai thread_cache_size = 4

    Quel est la signification de thread_cache_size ?

    Merci beaucoup
     
  5. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Thread Cache Size veut dire quasiment sa traduction littérale, à savoir, nombre de Thread que tu peux avoir en cache.
    Vu ta machine et tes 24 Go de RAM, ça devrait sans problème pouvoir être augmenté;
    Par contre, c'est quoi qui utilise autant le proc ?
    T'as un load énorme, alors bon, je pensais que tu avais beaucoup moins et que ta machine dormais.
     
  6. omelhor
    omelhor WRInaute occasionnel
    Inscrit:
    9 Février 2007
    Messages:
    280
    J'aime reçus:
    0
    Salut,

    Je pense que c'est php qui utilise autant le proc, y a t'il un moyen de voir quel script provoquent ces montées en charge ?
    <<<
    top - 23:06:05 up 64 days, 10:56, 1 user, load average: 12.98, 8.01, 6.66
    Tasks: 487 total, 2 running, 477 sleeping, 0 stopped, 8 zombie
    Cpu(s): 15.5% us, 2.2% sy, 0.0% ni, 65.2% id, 16.8% wa, 0.0% hi, 0.3% si
    Mem: 24744184k total, 24528600k used, 215584k free, 1702648k buffers
    Swap: 1051832k total, 56056k used, 995776k free, 18117900k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    7617 root 20 0 78660 12m 5888 R 75 0.1 0:03.87 php
    1282 mysql 20 0 790m 322m 5548 S 19 1.3 313:55.39 mysqld
    7609 root 20 0 76128 18m 6480 S 2 0.1 0:00.15 php
    7637 root 20 0 87812 29m 6376 S 2 0.1 0:00.21 php
    7634 root 20 0 76128 18m 6480 S 1 0.1 0:00.15 php
    >>>
    Merci
     
Chargement...
Similar Threads - optimisation bdd mysql Forum Date
Problématique optimisation accès bdd mysql ... Développement d'un site Web ou d'une appli mobile 8 Mai 2011
optimisation BDD Mysql Développement d'un site Web ou d'une appli mobile 27 Août 2005
[BDD] optimisation des bases Développement d'un site Web ou d'une appli mobile 15 Mars 2011
Optimisation BDD Développement d'un site Web ou d'une appli mobile 5 Février 2007
Optimisation d' un site avec Yoast Débuter en référencement 5 Mai 2022
WordPress Avis et question concernant une optimisation dû à de multiples sites Demandes d'avis et de conseils sur vos sites 18 Avril 2022
Optimisation publication FB Facebook 14 Avril 2022
Optimisation d'une page : Titre du Site et Menu comment les inclure? Débuter en référencement 13 Septembre 2021
Astuce Optimisation des URLs Débuter en référencement 15 Juin 2021
WordPress PageSpeed - optimisation - fonts Développement d'un site Web ou d'une appli mobile 27 Janvier 2021
Optimisation SXO de site web de mon agence Référencement Google 22 Janvier 2021
Avis et optimisation sur blog voyage Demandes d'avis et de conseils sur vos sites 24 Décembre 2020
Optimisation du Cumulative Layout Shift (CLS) Référencement Google 8 Décembre 2020
Optimisation URL pour les moteurs de recherche Débuter en référencement 15 Novembre 2020
Optimisation site Wordpress Débuter en référencement 21 Août 2020
Optimisation des publicités / revenus AdSense 19 Juillet 2020
WordPress optimisation des temps de chargements Débuter en référencement 28 Juin 2020
Optimisation pour la catégorie de produits de commerce électronique Rédaction web et référencement 26 Juin 2020
Astuce optimisation image au format Webp YouTube, Google Images et Google Maps 6 Avril 2020
Optimisation liens footer Netlinking, backlinks, liens et redirections 3 Janvier 2020