raid write back / write throught


RAID write back指的是raid控制器能夠將寫入的數據寫入自己的緩存中,並把它們安排到后續再執行,這樣做的好處就是不需要等實際寫入磁盤再返回,因此寫入更快。對於數據庫而言,這一點更為重要,對重做日志的寫入,sync_binlog為1的情況下二進制日志寫入,臟頁的刷新等,都可以有很大的提升。

但是這樣有個弊端就是系統發生意外,數據還在緩存中沒有寫入磁盤。大多數硬件RAID提供了電池備份單元,因此可以放心的開啟write back。

如果沒有開啟write back,那么控制器現實就是write through,即直接寫入到磁盤,不會先寫入自己的緩存,但是安全性是最高的。

 

write-through

數據在寫入存儲的同時,要寫入緩存,這種方式安全但是會犧牲寫性能,因為只有等數據完全落入硬盤后,才算是一次io完成,這個過程會造成cpu的iowait。

write-back

數據直接寫入緩存,寫緩存的速度是遠遠大於寫磁盤的,所以這種方式可以提高服務器的寫性能。也許你會想當斷電了怎么辦?不用擔心,raid卡是有電池的,完全可以支持緩存中的數據再寫入磁盤。除非點背,raid卡電池也沒電了。(具體什么時候緩存中的數據會寫入硬盤,這個我不是很清楚)

我們生產環境用的就是write-back,就是並且還設置了force write-back  (即使電池沒電了,也要寫緩存),這樣有了點冒險,但是大幅度的提高了寫性能,我覺得利大於弊吧。具體的設置如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM