程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MyISAM中key_buffer_size的設置

MyISAM中key_buffer_size的設置

編輯:MySQL綜合教程

MyISAM中key_buffer_size的設置   Key_read_requests和Key_reads就是兩個計數器,它們的含義如下:   Key_read_requests:從緩存讀取索引的請求次數。 Key_reads:從磁盤讀取索引的請求次數。   通常人們認為Key_read_requests / Key_reads越大越好,否則就應該增大key_buffer_size的設置,但通過計數器的比例來調優有兩個問題:   問題一:比例並不顯示數量的絕對值大小 問題二:計數器並沒有考慮時間因素   雖說Key_read_requests大比小好,但是對於系統調優而言,更有意義的應該是單位時間內的Key_reads:   Key_reads / Uptime   你可以通過命令行得到一個實時的數據結果,比如:   # mysqladmin ext -ri10 | grep Key_reads   | Key_reads                         | 83777189     | | Key_reads                         | 211          | | Key_reads                         | 177          | | Key_reads                         | 202          |   提示:命令裡的mysqladmin ext其實就是mysqladmin extended-status,你甚至可以簡寫成mysqladmin e。   其中第一行表示的是匯總數值,所以這裡不必考慮,下面的每行數值都表示10秒內的數據變化,從這份數據可以看出每10秒系統大約會出現200次Key_reads訪問,折合到每1秒就是20次左右,至於這個數值到底合理與否,就由服務器的磁盤能力而定了。   順便說一句,為啥數據按10秒取樣,而不是直接按1秒取樣?這裡看看按1秒的結果:   # mysqladmin ext -ri1 | grep Key_reads   | Key_reads                         | 83776743     | | Key_reads                         | 7            | | Key_reads                         | 7            | | Key_reads                         | 38           |   可以看到,由於時間段過小,數據變化比較劇烈,不容易直觀估計大小,所以通常數據按照10秒或者60秒之類的時間段來取樣是更好的。   忘記:Key_read_requests / Key_reads 牢記:Key_reads / Uptime

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved