本文為您介紹在特定業務場景中,使用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分鐘 |