1. 程式人生 > >MySQL Disk--磁盤相關參數

MySQL Disk--磁盤相關參數

anti 臟數據 減少 並且 寫到 ack 緩沖區 多次 間隔

/sys/block/sda/queue/nr_requests 磁盤隊列長度。默認只有 128 個隊列,可以提高到 512 個.會更加占用內存,但能更加多的合並讀寫操作,速度變慢,但能讀寫更加多的量
/sys/block/sda/queue/iosched/antic_expire 等待時間 。讀取附近產生的新請時等待多長時間 /sys/block/sda/queue/read_ahead_kb
這個參數對順序讀非常有用,意思是,一次提前讀多少內容,無論實際需要多少.默認一次讀 128kb 遠小於要讀的,設置大些對讀大文件非常有用,可以有效的減少讀 seek 的次數,這個參數可以使用 blockdev –setra 來設置,setra 設置的是多少個扇區,所以實際的字節是除以2,比如設置 512 ,實際是讀 256 個字節. /proc/sys/vm/dirty_ratio
這個參數控制文件系統的文件系統寫緩沖區的大小,單位是百分比,表示系統內存的百分比,表示當寫緩沖使用到系統內存多少的時候,開始向磁盤寫出數 據.增大之會使用更多系統內存用於磁盤寫緩沖,也可以極大提高系統的寫性能.但是,當你需要持續、恒定的寫入場合時,應該降低其數值,一般啟動上缺省是 10。 /proc/sys/vm/dirty_background_ratio
這個參數控制文件系統的pdflush進程,在何時刷新磁盤.單位是百分比,表示系統內存的百分比,意思是當寫緩沖使用到系統內存多少的時候, pdflush開始向磁盤寫出數據.增大之會使用更多系統內存用於磁盤寫緩沖,也可以極大提高系統的寫性能.但是,當你需要持續、恒定的寫入場合時,應該降低其數值,一般啟動上缺省是 5。
/proc/sys/vm/dirty_writeback_centisecs
這個參數控制內核的臟數據刷新進程pdflush的運行間隔.單位是 1/100 秒.缺省數值是500,也就是 5 秒. 如果你的系統是持續地寫入動作,那麽實際上還是降低這個數值比較好,這樣可以把尖峰的寫操作削平成多次寫操作.設置方法如下: echo ‘200’ > /proc/sys/vm/dirty_writeback_centisecs 如果你的系統是短期地尖峰式的寫操作,並且寫入數據不大(幾十M/次)且內存有比較多富裕,那麽應該增大此數值: echo ‘1000’ > /proc/sys/vm/dirty_writeback_centisecs /proc/sys/vm/dirty_expire_centisecs
這個參數聲明Linux內核寫緩沖區裏面的數據多“舊”了之後,pdflush進程就開始考慮寫到磁盤中去.單位是 1/100秒.缺省是 30000,也就是 30 秒的數據就算舊了,將會刷新磁盤.對於特別重載的寫操作來說,這個值適當縮小也是好的,但也不能縮小太多,因為縮小太多也會導致IO提高太快.建議設置為 1500,也就是15秒算舊. echo ‘1500’ > /proc/sys/vm/dirty_expire_centisecs 當然,如果你的系統內存比較大,並且寫入模式是間歇式的,並且每次寫入的數據不大(比如幾十M),那麽這個值還是大些的好.

MySQL Disk--磁盤相關參數