本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

實作Swift REST API的建議

貢獻者

實作Swift REST API以搭配StorageGRID 使用時、請遵循以下建議。

針對不存在物件的使用者提出建議

如果您的應用程式經常檢查某個物件是否存在於您預期該物件實際上不存在的路徑中、您應該使用「可用」一致性控制。例如、如果您的應用程式在執行放置作業之前、先對某個位置執行頭作業、則應使用「可用」一致性控制。

否則、如果執行頭作業找不到物件、當一個或多個儲存節點無法使用時、您可能會收到大量500個內部伺服器錯誤。

您可以使用放置容器一致性要求、為每個容器設定「可用」一致性控制。

物件名稱建議

對於StorageGRID 以VMware 11.4或更新版本建立的容器、不再需要限制物件名稱以符合效能最佳實務做法。例如、您現在可以將隨機值用於物件名稱的前四個字元。

若容器是在StorageGRID 版本早於物件名稱的版本中建立、請繼續遵循以下建議:

  • 您不應使用隨機值做為物件名稱的前四個字元。這與前AWS關於名稱前置詞的建議不同。您應該改用非隨機、非獨特的前置詞、例如「image」。

  • 如果您遵循前一項AWS建議、在名稱前置字元中使用隨機和獨特的字元、則應該在物件名稱前置一個目錄名稱。也就是使用此格式:

    mycontainer/mydir/f8e3-image3132.jpg

    而非此格式:

    mycontainer/f8e3-image3132.jpg

「範圍讀取」建議

如果選擇*壓縮儲存物件*選項(組態>*系統*>*網格選項*)、Swift用戶端應用程式應避免執行指定要傳回位元組範圍的Get物件作業。這些「範圍讀取」作業效率不彰、因為StorageGRID 必須有效解壓縮物件才能存取所要求的位元組。從非常大的物件要求少量位元組的「Get Object」(取得物件)作業效率特別低;例如、從50 GB壓縮物件讀取10 MB範圍的效率非常低。

如果從壓縮物件讀取範圍、用戶端要求可能會逾時。

附註 如果您需要壓縮物件、而用戶端應用程式必須使用範圍讀取、請增加應用程式的讀取逾時。