Quais fatores afetam o valor ideal de s3ql --max-obj-size?

Quais fatores afetam o valor ideal de s3ql --max-obj-size?

Estou tentando entender todas as implicações relevantes do valor --max-obj-size usado ao criar ums3qlsistema de arquivo. Ainda não encontrei uma descrição completa das implicações desta opção, mas consegui reunir algumas peças dos documentos e grupos de discussão.

Principalmente, encontrei motivos para usar valores maiores de --max-obj-size, o que me deixa pensando: por que não usar um valor arbitrariamente grande (10mb? 100mb? 1gb?):

  • Valores menores significam que mais "inodes" são usados ​​e pior desempenho do banco de dados sqlite (já que o mesmo número de arquivos requer mais entradas de inode)
  • Valores menores podem prejudicar o rendimento (especialmente paraleituras sequenciais).

Da versão 1.8registro de alterações:

Na verdade, um tamanho pequeno de bloco S3QL nãonãotem alguma vantagem sobre um tamanho de bloco grande ao armazenar muitos arquivos pequenos. Um tamanho de bloco pequeno, entretanto, prejudica seriamente o desempenho ao armazenar arquivos maiores. Isso ocorre porque o S3QL está efetivamente usando um tamanho de bloco dinâmico e o valor --blocksize especifica um limite superior.

Até agora, as únicas vantagens que encontrei ou imaginei para blocos menores são:

  • Menos largura de banda usada para reescrever uma parte de um arquivo
  • Possivelmente melhor desduplicação

A opção --min-obj-size não afeta a desduplicação. A desduplicação acontece antes que os blocos sejam agrupados.

O --max-obj-size afeta a desduplicação, pois determina implicitamente o tamanho máximo de um bloco.

Encontradoaqui:

Alguém pode oferecer um resumo das compensações feitas ao selecionar um --max-obj-size maior ou menor ao criar um sistema de arquivos s3ql?

informação relacionada