淺談存儲負載應用類型和特點
部署存儲系統時,經常需要綜合評價工作負載,從而進行存儲系統的調優。本文簡單總結了幾個典型的工作負載及其特點,方便在系統調優時做一些參考。
通常情況下,我們大多數人都會考慮如下幾個方面:
IOPS:I/O速率
Latency:時延
I/O Size:I/O塊大小
R/W Ratio:讀寫比
R/S Ratio: 隨機順序比
但是我們經常忽略以下幾個方面:
Cache Hit Ratio:緩存命中率,基本上指的是讀緩存的命中率,因為寫操作基本上都會先寫到寫緩存上。這個參數將會影響系統的響應時間。
Write Efficiency:寫效率,指的是一塊數據在落盤之前,被重複寫的次數。在一些資料庫應用的負載中,有時候數據剛剛被寫入,繼而又會被讀出來,然後再修改,如此反覆多次。
典型OLTP負載型應用
Online Transaction Processing聯機事務處理過程, 是前台接收的用戶數據可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果。 例如銀行的存取款業務,股票交易業務等。 其負載特點是IO size在16k以下,讀比例在70%左右,緩存命中率在20%以下,隨機比例大於50%。
90% read, 8 - 16 - 32 - 64 KB blocks, 30% sequential, 30 - 40% cache hit
80% read, 16 - 32 - 64 KB blocks, 40 - 50% sequential, 50 - 60% cache hit
Microsoft Exchange Server負載型應用
Exchange的負載類型與OLTP很相似,最大的差異在IO size上。其IO size最大可到128k,寫比例可達60%。因此在考慮此應用時,要在OLTP的基礎上適當加大IO size和寫比例。更加詳細的介紹可參考微軟官方文檔:http://technet.microsoft.com/en-us/exchange/dd203064
順序讀寫負載型應用
此負載類型最典型的就是在磁帶系統中用到,當然機械硬碟和快閃記憶體系統中也會碰到。由於讀寫是順序的,因此在數據的預處理和緩存上可以達到很好的優化,而且IO size也會比較大,在256k甚至更大。順序讀寫的應用,其實對響應時間要求不高,IOPS也要求不大,反而是對系統帶寬有較大的要求。因此測試此類應用時,應該著重測試系統的帶寬。以下幾個場景中比較符合順序讀寫的負載類型:
備份/恢復
資料庫日誌
批處理應用
文件服務
網頁服務
流媒體服務
圖像應用
批處理型負載應用
此類型屬於混合型讀寫,需要同時保證隨機,間斷順序,純順序,和分類型讀寫數據類型。數據塊大小偏大,大約在128k-256k。讀寫比例將近1:1,相同的卷出現同時讀寫的比例較高,需要較大的IOPS,和保證一定的帶寬。
緩存友好型負載應用
可以用緩存命中率來衡量一個應用是否屬於緩存友好型負載,但這並不是很容易,因為一個應用可能在運行中不斷的改變其特點。例如資料庫中,當用戶使用數據時,就是緩存友好型,因為資料庫會將用戶的載入到緩存中;但當跑批處理或者生成報告時,數據的訪問變得非常隨機,此時就屬於緩存不友好型。
簡單的識別方法是分析數據的訪問的隨機性,一般而言,隨機訪問的緩存命中率比較低,可以近似為緩存不友好型。順序性的負載基本上是緩存友好型。還有一點是寫操作型的負載基本上也是緩存友好型,因為每個寫操作都會先到緩存,經過一定處理後,最終才集中落盤。
資料庫查詢型負載應用
這種負載也是一種典型的負載,其特點有:
較高的讀比例
較大的隨機性
較小的IO size
但現在大部分的資料庫應用都會有讀緩存的優化演算法,可以將隨機的讀寫操作最大化的接近順序讀寫,因此在測試的時候,也要加入順序讀寫操作來模擬真實負載。
資料庫日誌型負載應用
日誌系統也是資料庫必備的,主要是保證數據一致性和用於數據恢復。此類負載主要是寫操作,順序性負載,塊大小在64k左右,對IOPS和帶寬有一定的要求,但不大。因此這類應用負載是比較容易模擬和調優的。
資料庫交互環境型負載應用
這種負載類型主要出現在多個資料庫進行交互時,其主要特點有:
較低的緩存命中率
較低的讀寫比例
較高的隨機性讀
表1總結了一些典型應用:
表1 部分數據取自IBM Storage Redbook,? Copyright International Business Machines Corporation 2016.
※西部數據&閃迪:兩年+190億美元收購之後,企業級快閃記憶體優勢發生了什麼變化?
TAG:中國存儲 |