Après avoir lu cette page dans la documentation mysql , j'ai essayé de comprendre notre utilisation actuelle d'InnoDB. Actuellement, nous allouons 6 Go de RAM pour le pool de tampons. La taille de notre base de données est à peu près la même. Voici la sortie de show engine innodb status\G
(nous exécutons la v5.5)
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 6593445888; in additional pool allocated 0
Dictionary memory allocated 1758417
Buffer pool size 393215
Free buffers 853
Database pages 360515
Old database pages 133060
Modified db pages 300
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 7365790, not young 23099457
0.00 youngs/s, 0.00 non-youngs/s
Pages read 1094342, created 185628, written 543182148
0.00 reads/s, 0.00 creates/s, 37.32 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 360515, unzip_LRU len: 0
I/O sum[2571]:cur[0], unzip sum[0]:cur[0]
Je voulais savoir dans quelle mesure nous utilisons le cache tampon. Après avoir jeté un premier coup d'œil à la sortie, il est apparu que nous l'utilisons effectivement, basé sur le Pages made young
et not young
avons des chiffres en eux et Buffer pool hit rate is 1000 / 10000
(ce que j'ai vu ailleurs sur le Web que cela signifie qu'il est utilisé assez intensément. Vrai?)
Ce qui me lance dans une boucle, c'est pourquoi le young-making rate
et not
sont tous deux à 0/1000 et les accès young/s
et non-young/s
sont tous les deux à 0. Tout cela indiquerait qu'il n'est pas utilisé du tout, non?
Quelqu'un peut-il aider à comprendre cela?
la source
young-making rate 0 / 1000
et0.00 youngs/s
, cela nous dit que nous ne l'utilisons pas vraiment. Suis-je en train de lire ça?Je ne suis pas d'accord avec l'évaluation selon laquelle "vous avez la chance d'avoir un pool de tampons avec un taux de réussite parfait de 100%"
En haut de la sortie (qui est coupée), se trouve une ligne quelque chose comme:
Cela me dit qu'aucune lecture n'a eu lieu au cours des 16 dernières secondes, ce qui vous donne (artificiellement) un score parfait de «1000/1000».
Pendant ce temps, il y a eu quelques écritures. Ces écritures ont peut-être été différées pour vider les pages «sales» ou nettoyer les index du «tampon de changement».
Il n'y avait probablement pas non plus d'activité dans la zone jeune / chaude au cours des 16 dernières secondes.
la source
SHOW VARIABLES LIKE 'query%';
etSHOW GLOBAL STATUS LIKE 'Qc%';
etSHOW GLOBAL VARIABLES LIKE 'Com_SELECT';
.Le pool de tampons est divisé en deux parties, une liste jeune et une liste non jeune. Le taux de création indique le nombre de pages dans les pools de mémoire tampon qui sont mélangées entre les deux listes.
Les pages rendues jeunes ne sont pas des pages jeunes créées (c'est-à-dire qu'elles sont lues hors du cache. Les pages non jeunes sont des pages déplacées de la liste des jeunes parce qu'elles sont trop anciennes ou parce que la liste des jeunes est pleine.
Le taux de déplacement des pages entre les deux dépend de la quantité de pool de tampons actuellement utilisée par rapport à la taille du jeune pool. Définir à zéro signifie que votre ensemble actif (les pages que vous utilisez) est plus petit que le jeune pool.
la source