Nachdem ich diese Seite in der MySQL-Dokumentation gelesen hatte , versuchte ich, einen Sinn für unsere aktuelle InnoDB-Nutzung zu finden. Derzeit weisen wir 6 GB RAM für den Pufferpool zu. Unsere Datenbankgröße ist ungefähr gleich. Hier ist die Ausgabe von show engine innodb status\G
(wir führen v5.5 aus)
----------------------
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]
Ich wollte wissen, wie gut wir den Puffer-Cache nutzen. Nach einem ersten Blick auf die Ausgabe stellte sich heraus, dass wir sie tatsächlich verwenden. Sie basiert auf der Pages made young
und enthält not young
Zahlen Buffer pool hit rate is 1000 / 10000
.
Was mich durch eine Schleife wirft, ist, warum das young-making rate
und not
beide bei 0/1000 sind und das young/s
und die non-young/s
Zugriffe beide bei 0. Diese würden alle anzeigen, dass es überhaupt nicht verwendet wird, richtig?
Kann jemand helfen, einen Sinn daraus zu machen?
quelle
young-making rate 0 / 1000
und0.00 youngs/s
wissen wir, dass wir es nicht wirklich nutzen. Lese ich das richtig?Ich bin mit der Einschätzung nicht einverstanden, dass "Sie das Glück haben, einen Pufferpool mit einer perfekten Trefferquote von 100% zu haben".
Am oberen Rand der Ausgabe (die abgeschnitten ist) befindet sich eine Zeile wie:
Dies sagt mir, dass in den letzten 16 Sekunden keine Lesevorgänge stattgefunden haben, wodurch Sie (künstlich) eine perfekte Punktzahl von 1000/1000 erhalten.
In der Zwischenzeit gab es einige Schreibvorgänge. Möglicherweise wurden Schreibvorgänge zurückgestellt, um entweder "schmutzige" Seiten zu löschen oder Indizes aus dem "Änderungspuffer" zu entfernen.
Wahrscheinlich gab es in den letzten 16 Sekunden auch keine Aktivität im Young / Hot-Bereich.
quelle
SHOW VARIABLES LIKE 'query%';
undSHOW GLOBAL STATUS LIKE 'Qc%';
undSHOW GLOBAL VARIABLES LIKE 'Com_SELECT';
.Der Pufferpool ist in zwei Teile unterteilt, eine junge Liste und eine nicht junge Liste. Die Erstellungsrate gibt an, wie viele Seiten in den Pufferpools zwischen den beiden Listen gemischt werden.
Seiten, die jung gemacht wurden, sind nicht-junge Seiten, die gemacht wurden (dh aus dem Cache gelesen wurden). Seiten, die nicht-jung gemacht wurden, sind Seiten, die aus der jungen Liste verschoben wurden, weil sie entweder zu alt sind oder weil die junge Liste voll ist.
Die Rate, mit der die Seiten zwischen den beiden verschoben werden, hängt davon ab, wie viel des Pufferpools derzeit im Vergleich zur Größe des jungen Pools verwendet wird. Auf Null gesetzt bedeutet, dass Ihre aktive Gruppe (die von Ihnen verwendeten Seiten) kleiner als der junge Pool ist.
quelle