O tamanho do fragmento afeta o desempenho de leitura de uma matriz RAID1 de software do Linux md?

1

Isso surgiu em relação a esta questão . determinando o tamanho do fragmento de um array RAID existente.

O consenso geral parece ser que o tamanho do bloco não se aplica ao RAID1, pois não é distribuído. Por outro lado, o Linux RAID Wiki afirma que ele afetará a leitura desempenho. No entanto, não consigo encontrar nenhum benchmark testando / comprovando isso. Alguém pode apontar para uma documentação conclusiva que afeta ou não o desempenho de leitura?

    
por OldWolf 31.08.2011 / 20:20

2 respostas

2

O artigo Tamanho do Pedaço Ótimo para o Raid 1 e o Benchmark zcav examinou a questão do chunk- Tamanho. Embora datado de 2008, concluiu que o tamanho do pedaço não faz diferença alguma. Na verdade, ele descobriu que o kernel ignora completamente o tamanho do pedaço.

Eu concluiria que o tamanho do fragmento não tem importância, e as considerações de desempenho dos discos RAID-1 são as mesmas que para os discos comuns, em que o desempenho depende apenas dos tamanhos de setor e bloco.

Minha lógica diz o mesmo: não consigo imaginar por que um kernel exigiria dois tipos de mecanismos idênticos - blocos e blocos. Até onde sei, as leituras devem ser feitas em blocos, pois o cache do kernel é orientado a blocos (isso explica as descobertas no artigo acima). O tamanho do fragmento poderia, no máximo, afetar as alocações de setor no disco, o que significa que a alocação de arquivos é feita em unidades de tamanho de bloco. Os tamanhos de partes para os kernels que fazem isso (se existirem) teriam um efeito na fragmentação do disco e nos tamanhos dos arquivos, mas teriam um efeito marginal ou nenhum efeito no desempenho de leitura.

A única melhoria no desempenho do RAID 1 está na sua redundância, quando as solicitações de leitura são distribuídas entre as duas unidades. Mas isso não tem nada a ver com o tamanho do pedaço.

    
por 02.11.2011 / 23:47
2

A página man mdadm do linux no Fedora 16 diz especificamente:

   -c, --chunk=
          Specify chunk size of kibibytes.  The default when creating an array is  512KB.
          To  ensure  compatibility  with earlier versions, the default when Building and
          array with no persistent metadata is 64KB.  This is only meaningful for  RAID0,
          RAID4, RAID5, RAID6, and RAID10.

Portanto, não tem impacto no RAID1.

    
por 11.04.2012 / 18:58