您好,登錄后才能下訂單哦!
本篇內容介紹了“Write-through與Write-back的區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Write Through和Write Back
Write Through和Write Back是陣列卡Cache的兩種使用方式,也稱為透寫和回寫。當選用write through方式時,系統的寫磁盤操作并不利用陣列卡的Cache,而是直接與磁盤進行數據的交互。而write Back方式則利用陣列Cache作為系統與磁盤間的二傳手,系統先將數據交給Cache,然后再由Cache將數據傳給磁盤。
在配置陣列的時候,如果不是很清楚的話,默認就可以了,系統會根據磁盤類型進行默認設置。
生產環境中的配置要根據具體的業務類型及環境進行配置,比如:如果有外置UPS電源,選Write Back,如果沒有外置電源,并且對數據安全性要求很高,不要求太高性能,就選Write Through。
Write caching 或 write-through
write-through意思是寫操作根本不使用緩存。數據總是直接寫入磁盤。關閉寫緩存,可釋放緩存用于讀操作。(緩存被讀寫操作共用)
Write caching可以提高寫操作的性能。數據不是直接被寫入磁盤;而是寫入緩存。從應用程序的角度看,比等待完成磁盤寫入操作要快的多。因此,可以提高寫性能。由控制器將緩存內未寫入磁盤的數據寫入磁盤。表面上看,Write cache方式比write-through方式的讀、寫性能都要好,但是也要看磁盤訪問方式和磁盤負荷了。
write-back(write cache)方式通常在磁盤負荷較輕時速度更快。負荷重時,每當數據被寫入緩存后,就要馬上再寫入磁盤以釋放緩存來保存將要寫入的新數據,這時如果數據直接寫入磁盤,控制器會以更快的速度運行。因此,負荷重時,將數據先寫入緩存反而會降低吞吐量。
Starting and stopping cache flushing levels
這兩個設置影響控制器如何處理未寫入磁盤的緩存內數據,并且只在write-back cache方式下生效。緩存內數據寫入磁盤稱為flushing.你可以配置Starting and stopping cache flushing levels值,這個值表示占用整個緩存大小的百分比。當緩存內未寫入磁盤的數據達到starting flushing value時,控制器開始flushing(由緩存寫入磁盤)。當緩存內未寫入磁盤數據量低于stop flush value時,flushing過程停止。控制器總是先flush舊的緩存數據。緩存內未寫入數據停留超過20秒鐘后被自動flushing.
典型的start flushing level是80%。通常情況下,stop flushing level也設置為80%。也就是說,控制器不允許超過80%的緩存用于write-back cache,但還是盡可能保持這一比例。如果你使用此設置,可以在緩存內存更多的未寫入數據。這有利于提高寫操作的性能,但是要犧牲數據保護。如果要得到數據保護,你可以使用較低的start and stop values。通過對這兩個參數的設置,你可以調整緩存的讀、寫性能。經測試表明,使用接近的start and stop flushing levels時性能較好。如果stop level value遠遠低于start value,在flushing時會導致磁盤擁塞。
Cache block size
這個值指緩存分配單元大小,可以是4K或16K。選擇合適的值,可以明顯的改善緩存使用性能。
如果應用程序更多時候訪問小于8K的數據,而將cache block size設置為16K,每次訪問僅使用一部分cache block。在16K的cache block里總是存儲8K或更小的數據,意味著只有50%的緩存容量被有效使用,使性能下降。對于隨機I/O和小數據塊的傳送,4K比較合適。另一方面,如果是連續I/O 并使用大的segment size,最好選擇16K。大的cache block size意味著cache block數量少并可縮短緩存消耗延時。另外,對于同樣大小的數據,cache block size大一些,需要的緩存數據傳送量更小。
其他相關說明:
保護內存里的數據
備援電池的功能是確保萬一當主電源故障或突然斷電時內存里的數據不流失,因此如何確保備援電池的正常運行就顯得格外重要。備援電池在2種情況下,系統視為無法正常運行以保護內存里的數據。一是壞掉的時候,背板的LED燈將亮起紅燈。一是電池充電的時候,背板的LED燈將亮起黃燈。備援電池的使用壽命是根據充電的次數及電力釋放的周期而變化的,這取決于用戶本身對盤陣的使用情況,一般而言我們建議最好在盤陣使用了12個月之后更換備援電池模塊(BBU)。備援電池在正常情況下充滿電的時候是3.5V,當其電力降至2.7V的時候將自動進入充電狀態,此時系統因為保護內存數據不流失的電力消失,自動地將數據的寫入切換成“Write-Through”模式;當充完電后,又自動切換回“Write-Back”模式。這個動作是在事件啟動裝置(Event Trigger)功能來執行的,在安裝管理軟件的時候,事件啟動裝置對備援電池的管理初始值是打開的(Enable)。如果你沒有更改過初始設置,那么上述的動作就會正常的運行。如果備援電池已經壞掉,不能正常保護內存里的數據時,而事件啟動裝置對備援電池的管理是設定在關閉的狀態下,我們建議你手動將數據寫入模式更改為“Write-Through”模式,以免數據寫入沒有電力保護的內存中而主電源故障或突然斷電時,這些正在寫入的數據就遺失了。
減少延遲
當關閉內存“Write-Back”功能時就進入了“Write-Through”的模式,這時候主機數據是不會寫入內存而直接寫入硬盤的。在“Write-Through”模式下,所有的硬盤將與其相關的主機以適當的方式存取數據塊,而大多數的時候硬盤處于接受寫命令的狀態。此時盤陣只要從主機接收到寫入的命令,硬盤的讀寫頭就會去尋找讀寫的位置,并等待硬盤處于可寫入的狀態,這個等待的現象就是所謂的延遲(Latency Time),而硬盤經常處于等待寫入的狀態,增加了延遲的時間,不但縮短硬盤的使用壽命,并且系統也比較耗電。當打開內存的“Write-Back”功能時,從主機寫入硬盤的數據先被寫在內存里,在內存寫滿數據時盤陣控制器會將存在于內存的數據大量地寫入硬盤。這個內存“Write-Back”的模式將主機寫入的命令以寫入內存來取代,可以大幅減少硬盤延遲的時間,并且相較于“Write-Through”模式,在大多數的時候提供更佳的寫入政策。
“Write-through與Write-back的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。