Setelah membaca halaman ini di dokumentasi mysql , saya mencoba memahami penggunaan InnoDB kami saat ini. Saat ini, kami mengalokasikan 6GB RAM untuk buffer pool. Ukuran basis data kami hampir sama. Inilah output dari show engine innodb status\G
(kami menjalankan 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]
Saya ingin tahu seberapa baik kami menggunakan cache buffer. Setelah awalnya melirik output, tampaknya kita memang menggunakannya, berdasarkan dari Pages made young
dan not young
memiliki angka di dalamnya dan Buffer pool hit rate is 1000 / 10000
(yang saya lihat di tempat lain di web bahwa ini berarti sedang digunakan cukup banyak. Benar?)
Apa yang melempar saya melalui loop adalah mengapa young-making rate
dan not
keduanya pada 0/1000 dan young/s
dan non-young/s
akses keduanya pada 0. Itu semua akan menunjukkan bahwa itu tidak digunakan sama sekali, kan?
Adakah yang bisa membantu memahami ini?
sumber
young-making rate 0 / 1000
dan0.00 youngs/s
, itu memberitahu kita bahwa kita tidak benar-benar memanfaatkannya. Apakah saya membaca ini?Saya tidak akan setuju dengan penilaian bahwa "Anda cukup beruntung memiliki buffer pool dengan hit rate 100% sempurna"
Di bagian atas output (yang dipotong), adalah garis seperti:
Ini mengatakan kepada saya bahwa tidak ada pembacaan yang terjadi dalam 16 detik terakhir, dengan demikian (secara artifisial) memberi Anda skor '1000/1000' yang sempurna.
Sementara itu ada beberapa yang menulis. Ini mungkin merupakan penulisan yang ditangguhkan untuk membersihkan halaman 'kotor' atau membersihkan indeks dari 'ubah buffer'.
Mungkin tidak ada aktivitas di area muda / panas dalam 16 detik terakhir.
sumber
SHOW VARIABLES LIKE 'query%';
danSHOW GLOBAL STATUS LIKE 'Qc%';
danSHOW GLOBAL VARIABLES LIKE 'Com_SELECT';
.Kumpulan buffer dibagi menjadi dua bagian, daftar muda dan daftar tidak-muda. Laju pembuatan menunjukkan berapa banyak halaman dalam kumpulan buffer yang dikocok antara dua daftar.
Halaman yang dibuat muda bukanlah halaman yang dibuat muda (yaitu dibaca dari cache. Halaman yang dibuat tidak muda adalah halaman yang dipindahkan dari daftar muda karena terlalu tua, atau karena daftar muda penuh.
Tingkat halaman dipindahkan antara keduanya tergantung pada seberapa banyak kolam buffer saat ini digunakan vs ukuran kolam muda. Setel pada nol berarti set aktif Anda (halaman yang Anda gunakan) lebih kecil dari kumpulan muda.
sumber