¿Qué factores afectan el valor ideal de s3ql --max-obj-size?

¿Qué factores afectan el valor ideal de s3ql --max-obj-size?

Estoy tratando de comprender todas las implicaciones relevantes del valor --max-obj-size utilizado al crear uns3qlsistema de archivos. Todavía tengo que encontrar una descripción completa de las implicaciones de esta opción, pero he podido reunir algunos fragmentos de los documentos y los grupos de discusión.

Principalmente, he encontrado razones para usar valores --max-obj-size más grandes, lo que me deja preguntándome, ¿por qué no usar un valor arbitrariamente grande (10 MB? ¿100 MB? ¿1 GB?):

  • Los valores más pequeños significan que se utilizan más "inodos" y un peor rendimiento de la base de datos sqlite (ya que la misma cantidad de archivos requiere más entradas de inodos)
  • Los valores más pequeños pueden perjudicar el rendimiento (especialmente paralecturas secuenciales).

Desde la versión 1.8registro de cambios:

De hecho, un tamaño de bloque S3QL pequeño nonotiene alguna ventaja sobre un tamaño de bloque grande al almacenar muchos archivos pequeños. Sin embargo, un tamaño de bloque pequeño degrada seriamente el rendimiento al almacenar archivos más grandes. Esto se debe a que S3QL utiliza efectivamente un tamaño de bloque dinámico y el valor --blocksize especifica meramente un límite superior.

Hasta ahora, las únicas ventajas que he encontrado o imaginado para tamaños de bloques más pequeños son:

  • Se utiliza menos ancho de banda para reescribir una parte de un archivo
  • Posiblemente una mejor deduplicación

La opción --min-obj-size no afecta la deduplicación. La deduplicación ocurre antes de que se agrupen los bloques.

--max-obj-size afecta la deduplicación, ya que determina implícitamente el tamaño máximo de un bloque.

Encontróaquí:

¿Alguien puede ofrecer un resumen de las compensaciones que se hacen al seleccionar un --max-obj-size mayor o menor al crear un sistema de archivos s3ql?

información relacionada