innodb命中率評估

innodb  內存評估原則

通常InnoDB存儲引擎的緩衝池的命中率不應該小於99%。
 

緩衝池命中率 = (Innodb_buffer_pool_read_requests)/(Innodb_buffer_pool_read_requests + Innodb_buffer_pool_read_ahead + Innodb_buffer_pool_reads)

                                    innodb_buffer_pool_read_requests
命中率 =-------------------------------------------------------------------------------------------------
         (innodb_bufer_pool_read_requests + innodb_buffer_pool_read_ahead + innodb_buffer_pool_reads )


平均每次讀取的字節數 = Innodb_data_read/Innodb_data_reads

Innodb_buffer_pool_reads:表示從物理磁盤讀取的頁數
Innodb_buffer_pool_read_ahead:預讀的頁數
Innodb_buffer_pool_read_ahead_evicted:預讀的頁數,但是沒有被讀取就從緩衝池中被替換的頁的數量,一般用來判斷預讀的效率。
Innodb_buffer_pool_read_requests:從緩衝池中讀取的次數。
Innodb_data_read:總共讀入的字節數。
Innodb_data_reads:發起讀請求的次數,每次讀取可能需要讀取多個頁。
 


 

mysql> show global status like 'innodb%read%';


Innodb_buffer_pool_read_ahead_rnd	0
Innodb_buffer_pool_read_ahead	651270
Innodb_buffer_pool_read_ahead_evicted	792
Innodb_buffer_pool_read_requests	6652087462
Innodb_buffer_pool_reads	1643398
Innodb_data_pending_reads	0
Innodb_data_read	42994913280
Innodb_data_reads	2635909
Innodb_pages_read	2624075
Innodb_rows_read	6299272374

 

                                    innodb_buffer_pool_read_requests
命中率 =-------------------------------------------------------------------------------------------------
         (innodb_bufer_pool_read_requests + innodb_buffer_pool_read_ahead + innodb_buffer_pool_reads )

 

                 6644810356
命中率 = ---------------------------- = 99.96% 約接近 1 越好 (證明內存足夠)
           6644810356 + 651270 + 1643325

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章