您好,登錄后才能下訂單哦!
《Tuning I/O Performance》,文章地址:http://doc.opensuse.org/products/draft/SLES/SLES-tuning_sd_draft/cha.tuning.io.html
大家在讀了原文后若有更好的見解,請不吝賜教,謝謝!
文章以SUSE Linux Enterprise Server為例講解了Linux系統的IO調度策略及調優,可適應于其他Linux操作系統,如CentOS、UBUNTU等。
1、查看當前IO調度策略(大多數Linux發行版的默認策略是CFQ)
命令:cat /sys/block/sda/queue/scheduler
結果:noop anticipatory deadline [cfq] #CentOS系統,可知可用的調度策略和當前調度策略,[]中的為當前系統采用的調度策略
2、更改當前調度策略
a、在系統啟動時加入elevator=SCHEDULER 的內核參數
b、直接修改內核參數:echo SCHEDULER > /sys/block/DEVICE/queue/scheduler
3、策略調優
各個策略均有參數可以調優,參數路徑大致相同,在 /sys/block/DEVICE/queue/iosched/目錄下
命令:echo VALUE > /sys/block/DEVICE/queue/iosched/TUNABLE
4、各主要策略調優
a、CFQ(Completely Fair Queuing)
i、CFQ是一個公平的算法,每個線程都有一個時間片來提交I/O請求,不同的任務也可以分配不同的I/O優先級(man 1 ionice)
ii、可調優的參數
/sys/block/<device>/queue/iosched/slice_idle
#就算一個任務當前沒有I/O請求了,采用此策略仍然會等待一段時間才切換到下一個線程。
#針對 SSDs、多磁盤SAN等當前磁道位置(不用額外花費時間尋址)不是特別重要的,只可以把此參數設置為0可以明顯提高吞吐量。
/sys/block/<device>/queue/iosched/quantum
#限制設備同時處理的請求數量,默認值是4
#調高此值雖然可以提高性能,但因為并發處理量增多了,可能會增加某些I/O的延時
#所以可調整/sys/block/<device>/queue/iosched/slice_async_rq(默認是2,限制同一時間片的異步寫請求數量)
/sys/block/<device>/queue/iosched/low_latency
#對I/O延遲要求非常高的負載環境中,可以將此值設置為1會好一些
b、NOOP
i、它是一種非常普通的調度策略,有I/O請求時它就處理,它可以用來檢測其它調度算法在復雜I/O環境下是否引起了I/O性能。
ii、有自身的的調度算法的設備,如智能存儲設備、SSDs等,雖然一般情況下DEADLINE更適合這些設備,但在較低負載下它的性能可能會更好。
c、DEADLINE
i、DEADLINE是為降低延時而設計的,每個I/O請求分配了一個結束時間,超時后便會暫存到隊列(讀和寫兩個隊列)中,當沒有超時的請求時再處理這些隊 列里的請求,這個算法對讀的好處大于寫。
ii、在并發讀寫及優先級不是非常重要的情況下,此調試要比CFQ策略性能好許多。
iii、調優參數
/sys/block/<device>/queue/iosched/writes_starved
#控制在多少個讀請求后可以處理一個寫請求,設置為3表示處理3個請求后可以處理一個寫請求
/sys/block/<device>/queue/iosched/read_expire
#以毫秒為單位,默認值是500,設置讀操作的超時時間(當前時間往后推read_expire值便是超時的時間點)
/sys/block/<device>/queue/iosched/write_expire
#同上,控制寫請求超時時間
5、I/O Barrier調優
Write Barriers 是一種內核機制,可以保證文件系統元數據正確有序地寫入持久化存儲,哪怕持久化存儲掉電的情況也能保證。大多數文件系統(XFS、ext3、ext4、reiserfs)在fsync或事務提交的時候便會觸發 Write Barriers 。可在有備用電池的磁盤關閉 Write Barriers 來提高性能。
可在ext3、ext4、reiserfs文件系統掛載時加上barrier=0的選項,XFS掛載時使用nobarrier選項。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。