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

Estoy tratando de entender todas las implicaciones relevantes del valor de -max-obj-size utilizado al crear un sistema de files s3ql . Todavía no he encontrado una descripción completa de las implicaciones de esta opción, pero he podido agrupar algunos fragments de los documentos y grupos de discusión.

Principalmente, he encontrado razones para usar valores de tamaño mayor -max-obj-size, lo que me hace preguntarme, ¿por qué no usar un valor arbitrariamente grande (10mb? 100mb? 1gb?):

  • Los valores más pequeños significan que se utilizan más "inodes" y peor performance de la database sqlite (ya que el mismo número de files requiere más inputs de inodo)
  • Los valores más pequeños pueden perjudicar el performance (especialmente para las lecturas secuenciales ).

    Desde la versión 1.8 changelog :

    De hecho, un tamaño de bloque S3QL pequeño no tiene ninguna ventaja sobre un tamaño de bloque grande cuando almacena muchos files pequeños. Un tamaño de bloque pequeño, sin embargo, degrada seriamente el performance al almacenar files más grandes. Esto se debe a que S3QL está utilizando efectivamente un tamaño de bloque dynamic, y el valor –blocksize merperformanceely especifica un límite superior.

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

  • Menor ancho de banda utilizado para volver a escribir una parte de un file
  • Posiblemente mejor deduplicación

    La opción –min-obj-size no afecta a la deduplicación. La deduplicación ocurre antes de agrupar los bloques.

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

    Encontrado aquí :

¿Alguien puede ofrecer un resumen de las compensaciones que se hacen cuando se selecciona un tamaño mayor o menor -max-obj-size al crear un sistema de files s3ql?

    Intereting Posts