陣列Cache使用方式對系統效能的影響

2021-09-20 13:47:09 字數 2853 閱讀 6912

esxi等虛擬機器的儲存io會因為陣列的cache而效能迥異。

提及磁碟陣列,大家可能都不會感到陌生。這項技術利用多塊磁碟組合成乙個邏輯磁碟,資料的讀寫也按照不同的分散排列方式,取自或儲存於不同的磁碟中。該技術所帶來的好處是它不僅可以利用多塊硬碟為系統組建出乙個更大的儲存空間,更重要的是它可以提高磁碟資料的讀寫效能和容錯能力。正是由於raid具有這些特點,使它成了伺服器配備儲存系統時的首選。

此次進行對比分析時我們所使用的伺服器平台為一台ibm system x3550 m3,該伺服器配有兩個至強5630處理器,6條4gb ddr3 1333記憶體。磁碟為4塊2.5英吋,容量為146gb,帶16mb快取的萬轉硬碟,它所使用的陣列卡是一塊ibm serveraid m5015,該陣列卡的設計規格與lsi megaraid sas 9260-8i完全相同。

接下來我們就來介紹在對比分析時,磁碟陣列卡的設定過程 。在伺服器系統啟動時,首先進入到伺服器bios介面下,並選擇system settings項。

系統bios介面

接下來選擇adapter uefi drivers項。

system settings介面

選擇lsi efi sas driver磁碟陣列卡。

adapters uefi drivers介面

進入到磁碟陣列卡的配置介面。  

磁碟陣列卡配置介面

在下邊的配置介面中可以看到,我們利用該陣列卡及4塊硬碟組建了乙個raid 5陣列。

raid選擇和配置介面

在這裡我們主要關注的是default write選項,該選項有write through、always write back以及write back with bbu三種選擇,其中write back with bbu是陣列卡配有battery backup模組元時的可選項,它的作用是用以在系統斷電時保護cache中的資料,避免斷電造成中間資料的丟失。

另外就是access選項,該項用於規定在讀、寫和讀寫時使用快取。該陣列卡預設設定為讀,使用者可根據實際應用需要來選擇,不過通常為了平衡系統的讀寫效能,最常採用的是rw模式。

陣列cache模式設定   

write through和write back是陣列卡cache的兩種使用方式,也稱為透寫和回寫。當選用write through方式時,系統的寫磁碟操作並不利用陣列卡的cache,而是直接與磁碟進行資料的互動。而write back方式則利用陣列cache作為系統與磁碟間的二傳手,系統先將資料交給cache,然後再由cache將資料傳給磁碟。

在採用這兩種不同的cache使用方式時,對於系統效能有何影響呢,接下來我們就以對比實驗來揭開這一謎題。 測試分兩種模式,一是在在安裝陣列卡後,採用它的預設設定,此時陣列卡cache採用的是write through,而access並非是rw,而是read。另一測試模式則access採用的是rw,陣列卡cache採用的是write back。

讀取iops

讀取吞吐量 

寫入iops

寫入吞吐量 

從以上4張測試對比圖我們可以看到乙個有趣現象,那就是在兩種不同的工作模式下,預設設定與在rw且write back配置下相比,前者的讀取效能要遠高於後者,而寫入效能則剛好相反,可謂涇渭分明。

導致這一現象的原因主要來自兩個方面,一是access選擇的不同,預設模式下採用的是read,這直接提公升了該模式下系統的讀取效能。然而在寫入時,由於缺少了陣列卡cache的支援,系統要寫資料到磁碟時,會直接進行磁碟寫入,而與系統的i/o能力相比,磁碟的讀寫速度要慢出很多,這直接致使系統寫盤的下降。

netbench測試結果對比 

netbench測試結果主要反映的是系統被用作檔案伺服器時,能夠為使用者訪問提供的資料吞吐量。由於該項重點考查的是伺服器的磁碟讀取效能,因此該伺服器在預設模式下比另一模式下有2.5倍的效能優勢也就不足為奇。

sql2005測試結果對比

在sql2005測試中,我們看到兩種不同模式在效能結果上基本相當,這是該項測試主要考察的是在資料庫的查詢、新增、刪除、修改等操作時伺服器的處理能力,該項測試中更為偏重於對資料庫的查詢,而實際的寫盤操作要遠少於讀盤操作,這就使得預設模式下系統超強的讀取效能彌補了它寫盤較慢的不足。結果使得測試成績相差不多。

通過以上幾項測試大家不難發現,在陣列卡的設定中,不僅僅是raid方式會影響到儲存子系統的讀寫效能,陣列卡中乙個小小的設定往往會帶來應用效能的巨大差異。因此在陣列卡的使用中,對於如何設定大家還真應該重視。

陣列Cache使用方式對系統效能的影響

esxi等虛擬機器的儲存io會因為陣列的cache而效能迥異。提及磁碟陣列,大家可能都不會感到陌生。這項技術利用多塊磁碟組合成乙個邏輯磁碟,資料的讀寫也按照不同的分散排列方式,取自或儲存於不同的磁碟中。該技術所帶來的好處是它不僅可以利用多塊硬碟為系統組建出乙個更大的儲存空間,更重要的是它可以提高磁碟...

硬體環境對系統效能的影響

在本章之前的所有部分都是介紹的整個系統中的軟體環境對系統效能的影響,這一節我們將從系統硬體環境來分析對資料庫系統的影響,並從資料庫伺服器主機的角度來做一些針對性的優化建議。任何乙個系統的硬體環境都會對起效能起到非常關鍵的作用,這一點我想每一位讀者朋友都是非常清楚的。而資料庫應用系統環境中,由於資料庫...

Query語句對系統效能的影響

需求 取出某個group 假設id為1 下的使用者編號id,使用者暱稱 nick name 並按照加入組的時間 user group.gmt create 來進行倒序排列,取出前20個 解決方案一 select id,nick name from user,user group where user...