什么因素影响理想的s3ql -max-obj-size值?

我试图了解创builds3ql文件系统时使用的–max-obj-size值的所有相关含义。 我还没有find这个选项的完整描述,但已经能够从文档和讨论组合起来。

主要是,我发现使用更大的–max-obj-size值的原因,这让我想知道为什么不使用任意大的值(10mb?100mb?1gb?):

  • 较小的值意味着使用更多的“inode”,而sqlite数据库的性能更差(因为相同数量的文件需要更多的inode条目)
  • 较小的值可能会损害吞吐量(特别是对于顺序读取 )。

    从版本1.8更新日志 :

    事实上,当存储大量小文件时,一个小的S3QL块大小与大块大小没有任何优势。 但是,当存储较大的文件时,块大小会严重降低性能。 这是因为S3QL正在有效地使用dynamic块大小,而–blocksize值则可以很好地指定一个上限。

到目前为止,我已经发现或想象的小块尺寸的唯一优点是:

  • 用来重写一部分文件的带宽更less
  • 可能更好的重复数据删除

    –min-obj-size选项不影响重复数据删除。 重复数据删除发生在块被分组之前。

    –max-obj-size会影响重复数据删除,因为它会隐式确定块的最大大小。

    在这里find:

任何人都可以提供在创builds3ql文件系统时select较大或较小的-max-obj-size时的权衡的总结?