本文從中繼資料索引構建效率與資料讀取效能兩個維度,對strmvol儲存卷進行效能評估,涵蓋檔案讀寫速度、高並發情境穩定性等核心指標,協助您更好地選擇和使用strmvol儲存卷。
以下測試資料為測試環境下的理論值,實際請以您的作業環境為準。
元數據索引構建
對於某個strmvol儲存卷,若在某個節點上沒有任何Pod正在掛載該卷,則首個掛載該卷的Pod會觸發節點掛載初始化流程,即在掛載時會先建立相關虛擬塊裝置並構建OSS檔案的中繼資料索引。該階段需要佔用節點部分資源,Pod會處於ContainerCreating狀態。
測試環境:節點規格為ecs.g8i.2xlarge,所在地區為cn-beijing。
OSS掛載點下檔案數量 | erofs(Alibaba Cloud Linux 3) | ext4(非Alibaba Cloud Linux 3) | ||||
構建耗時 | 記憶體峰值 | CPU使用率峰值 | 構建耗時 | 記憶體峰值 | CPU使用率峰值 | |
100000 (10萬) | 4.09s | 125 MB | 113% | 6.96s | 150 MB | 116% |
1000000 (100萬) | 11.07s | 871 MB | 201% | 35.37s | 512 MB | 192% |
10000000 (1000萬) | 130.59s | 8.7 GB | 247% | 407.00s | 2.4 GB | 253% |
資料讀取效能測試
不同resourceLimit參數下strmvol儲存卷的資料讀取效能對比
測試環境:節點規格為ecs.g7nex.32xlarge,OS為Alibaba Cloud Linux 3,所在地區為cn-beijing。
小檔案 (100 KB影像檔)隨機讀情境,開啟direct模式。
不同resourceLimit下僅效能上限存在差別,並發數未達上限時,效能表現接近。
說明下表注釋中分別記錄了不同resourceLimit配置下效能達到上限時的並發數。其中,對於非Alibaba Cloud Linux 3作業系統,不同resourceLimit配置時均在64並發下達到讀取效能上限。
測試情境
4並發讀
8並發讀
16並發讀
32並發讀
64並發讀
128並發讀
256並發讀
512並發讀
1024並發讀
效能
11.53 MB/s
101.06 img/s
21.99 MB/s
192.62 img/s
48.01 MB/s
417.95 img/s
93.90 MB/s
817.45 img/s
180.88 MB/s
1577.12 img/s
312.82 MB/s
2727.48 img/s
513.54 MB/s
4475.20 img/s
974.47 MB/s
8491.96 img/s
1306.61 MB/s
11386.33 img/s
注釋
無
無
無
無
非Alibaba Cloud Linux 3系統效能上限
2C4G模式效能上限
4C8G模式效能上限
8C16G模式效能上限
16C32G模式效能上限
大檔案單流讀與小檔案(100 KB影像檔)順序讀情境為例的通用情境,關閉direct模式。
資源限制
256並發順序載入 MB/s
大檔案單流讀 MB/s
2c4g
349.89 MB/s
2742.05 img/s
216
4c8g
789.52 MB/s
6187.34 img/s
342
8c16g
1446.17 MB/s
11333.37 img/s
548
16c32g
2383.38 MB/s
18678.12 img/s
926
說明預設值能保證在通用的唯讀情境下,各類的資料操作均有較好的效能。
實際上在大檔案單流讀情境下,8C配置已可達2.5~2.7GB/s吞吐。若您的業務有明顯資料讀取特性,請提交工單申請。
不同方案下資料讀取效能對比
測試環境:節點規格為ecs.g8i.2xlarge,OS為Alibaba Cloud Linux 3,所在地區為cn-beijing。
測試情境:
ossfs使用預設配置;ossfs開啟直讀功能(預設記憶體池為1 GB限制)。
strmvol分別使用 2c4g和4c8g資源限制。
在隨機載入小檔案(128 KB文字檔)情境中開啟direct模式,其餘情境關閉。
測試情境 | 4線程並發隨機載入 MB/s | 4線程並發順序載入 MB/s | 大檔案單流讀 MB/s |
ossfs預設配置 | 8.4 | 8.4 | 179.2 |
ossfs直讀1 GB | 3.4 | 3.4 | 293.4 |
strmvol 2c4g | 24.9 | 40.0 | 196.8 |
strmvol 4c8g | 95.6 | 147.1 | 334.5 |