本文介紹您在使用版本控制過程中可能遇到的問題,并提供相應的排查方法與解決方案。
存儲費用
版本控制功能本身不收取任何費用,但對當前版本和所有歷史版本的文件(Object)都會收取存儲費用。以下列場景為例,說明使用版本控制時的存儲費用(假定當月有30天):
當月第1天:通過PutObject操作向某一存儲空間(Bucket)上傳了20 GB大小的Object,存儲類型為標準存儲(本地冗余)。
當月第16天:通過PutObject操作對同一個Bucket中的同一個Object寫入40 GB的數據。
分析上述Object當月的存儲費用時,請注意在第16天對Object寫入40 GB數據時,第1天上傳的20 GB的Object并未從Bucket中刪除。相反,20 GB作為Object的歷史版本在Bucket中存儲了30天,而40 GB作為Object的最新版本在Bucket中存儲了15天。
按照存儲費用的按量付費計算規則得知,則該Object當月的存儲費用為:20 GB×0.12元/GB/月+40 GB×0.12元/GB/月÷30天×15天=4.8元。
關于不同類型的存儲費用說明,請參見存儲費用。
響應速度下降
問題描述:啟用版本控制后,調用GetBucket (ListObjects)接口列舉當前版本Object時,為什么響應速度會顯著下降?
問題原因:您的Bucket中有一個或多個Object包含大量的非當前版本Object或過期刪除標記。
問題排查:
通過GetBucketVersions(ListObjectVersions)查看Object是否存在較多版本。更多信息,請參見GetBucketVersions(ListObjectVersions)。
通過Bucket清單功能查看Bucket中Object的信息,包括版本信息、是否包含刪除標記等。更多信息,請參見存儲空間清單。
解決方法:啟用生命周期管理中的非當前版本過期操作(NonCurrentVersionExpiration)以及移除過期刪除標記策略(ExpiredObjectDeleteMarker),以便使早期版本的Object過期,并刪除在Bucket中的過期刪除標記。更多信息,請參見生命周期配置元素。
數據量異常
問題描述:Bucket文件列表中文件大小總和,與Bucket概覽頁面總存儲量不一致。
問題原因:因為您開啟了版本控制。開啟版本控制后,您需要在文件列表頁面單擊顯示,顯示歷史版本。此時所有文件大小總和將與Bucket概覽頁面總存儲量一致。