哪些因素會影響理想的 s3ql --max-obj-size 值?

哪些因素會影響理想的 s3ql --max-obj-size 值?

我試圖了解創建時使用的 --max-obj-size 值的所有相關含義s3ql文件系統。我尚未找到此選項含義的完整描述,但已經能夠從文件和討論群組中拼湊出一些內容。

主要是,我找到了使用更大的 --max-obj-size 值的理由,這讓我想知道,為什麼不使用任意大的值(10mb?100mb?1gb?):

  • 較小的值意味著使用更多的“inode”,並且 sqlite 資料庫的效能較差(因為相同數量的檔案需要更多的 inode 條目)
  • 較小的值可能會損害吞吐量(尤其是對於順序讀取)。

從1.8版本開始變更日誌:

事實上,較小的 S3QL 區塊大小確實可以不是當儲存大量小檔案時,與大塊大小相比有任何優勢。然而,在儲存較大檔案時,較小的區塊大小會嚴重降低效能。這是因為 S3QL 有效地使用動態區塊大小,並且 --blocksize 值僅指定上限。

到目前為止,我發現或想像的較小塊大小的唯一優點是:

  • 用於重寫文件一部分的頻寬更少
  • 可能更好的重複資料刪除

--min-obj-size 選項不會影響重複資料刪除。重複資料刪除發生在區塊分組之前。

--max-obj-size 會影響重複資料刪除,因為它隱含地決定區塊的最大大小。

成立這裡:

任何人都可以總結一下在創建 s3ql 檔案系統時選擇更大或更小的 --max-obj-size 時所做的權衡嗎?

相關內容