本文為您介紹在特定業務情境中,使用OSS內網網域名稱與使用OSS加速器這兩種情況下所呈現出的效能差異。
大批量資料操作環境
通過在使用OSS內網網域名稱以及使用OSS加速器網域名稱這兩種方式下,針對ossutil在下載/讀取OSS資料進行了效能測試,測試資料使用10000個100 KB的檔案,總量約為976 MB。
測試方案
測試載入器
操作
說明
ossutil
使用
cp
命令從OSS下載10000個大小為100 KB的檔案到本地。通過使用OSS內網網域名稱以及OSS加速器網域名稱,針對OSS中目錄內檔案並發下載到本地的速度進行測試。
測試結果
測試載入器
使用OSS內網網域名稱
啟用OSS加速器預載資料,並使用加速網域名稱訪問
ossutil
2.2 MB/s
24 MB/s
測試結論
ossutil在配合OSS加速器使用後的效能大約是不開啟加速器效能的10倍。
由此可以看出,在配合使用OSS加速器後,對於大規模資料的大量操作(如ossutil的情境),OSS加速器能夠顯著提升資料轉送和訪問的速度。
大規模資料下的機器學習/深度學習情境
通過在使用OSS內網網域名稱以及使用OSS加速器網域名稱這兩種方式下,針對由OSS Connector for AI/ML使用不同網域名稱構建出的資料集,進行了OSS資料讀取效能上限測試。測試資料使用10,000,000張圖片,平均每張100 KB,總量約1 TB。
測試參數
參數
值/操作
說明
dataloader batch size
256
每次處理的資料批次大小為256個樣本。
dataloader workers
32
使用32 個背景工作處理序來並行載入資料。
transform
def transform(object): data = object.read() return object.key, object.label
未對資料進行預先處理。
測試結果
資料集構建方式
資料集類型
使用OSS內網網域名稱
啟用OSS加速器預載資料,並使用加速網域名稱訪問
OSS Connector for AI/ML方式構建
OssIterableDataset
99920 img/s
123043 img/s
OssMapDataset
56564 img/s
78264 img/s
測試結論
從測試結果資料來看,啟用OSS加速器之後的效能,大約是不啟用OSS加速器的1.6倍左右。OSS Connector在不使用OSS加速器的情況下,能夠輕鬆應對各種高並發、高頻寬訪問。而配合使用OSS加速器後,其效能則更為強大。
下載響應延遲統計
通過OSS以及OSS加速器多次下載10 MB的Object進行測試,統計其響應延遲(單位ms)分位元。
以下圖表中的P50表示50%的請求符合當前統計的延遲情況,P999表示99.9%的請求符合當前統計的延遲情況。
通過圖表資料可以看出,結果顯示降低了約10倍延遲。
雲上資料湖及數倉情境
某使用者分別對本地碟、原生OSS以及OSS加速器作為儲存介質進行測試。測試資料使用760 GB的lineitem表約20億條資料。
延遲情況
情境
Local Cache FS (本地)
OSS
OSS加速器
點查
382ms
2451ms
1160ms
1000條資料幫浦
438ms
3786ms
1536ms
10%不連續查詢
130564ms
345707ms
134659ms
全量掃描測試
171548ms
398681ms
197134ms
效能情況
線上查詢時,OSS加速器讀命中RT是直讀OSS的2~2.5倍。全量掃描、10%隨機查詢效能是直讀OSS的2~2.5倍,約為Local ESSD CacheFs本地讀效能的85%。
線上查詢時,OSS加速器單個請求固有延遲為8~10ms。1000條隨機查詢、點查效能是直讀OSS的1.5~3倍,約為Local ESSD CacheFs本地讀效能的30%。
容器及自動駕駛模擬訓練情境
使用啟用OSS加速器的情況下,大量容器同時啟動擷取鏡像,地圖和日誌資料。模擬訓練的整體時間長度降低了60%。
類型 | 容量 | 峰值頻寬 | 時間長度 |
OSS | 204 TB(OSS) | 100 Gbps | 2.2小時 |
OSS+OSS加速器 | 204 TB(OSS)+128 TB(OSS加速器) | 300 Gbps | 40分鐘 |