Como obter o melhor desempenho: servidor de cache de armazenamento (arquivos pequenos) com 4 discos (3 TBs)?

2

Estamos preparando um servidor de armazenamento em cache para alguns arquivos pequenos que serão armazenados em cache por alguns dias (para que o HDD tenha mais leitura e gravação). Todos os arquivos são um pouco pequenos em torno de 100 a 500 KB de um arquivo, mas nós temos muitos deles para que possamos preencher 12 TB com ele. O servidor tem uma conexão de 1Gbit e eu esperava que pudéssemos usá-lo totalmente, como temos 4 HDDs, a velocidade de leitura deve ser de 250Mb / s (31.25MB / s)

O servidor é executado no servidor Ubuntu 14.04LTS

Eu quero saber o que as pessoas sugerem:

  • Qual sistema de arquivos devemos usar?
  • Devemos combinar os HDDs com um grande diretório?
  • Os arquivos devem ser colocados no mesmo diretório? (estamos falando de 25.000.000 arquivos ou mais)
por klaasio 06.07.2014 / 15:44

1 resposta

3

the read speed should be 250Mb/s (31.25MB/s)

Em primeiro lugar, é muito improvável que você alcance esse nível de desempenho com 4 HDDs de 7200 rpm com um padrão de acesso de leitura aleatório. Mesmo que seus discos possam ler tamanhos maiores de 16 a 64 KB, o máximo de operações de E / S por segundo para um disco de 7,2k é de aproximadamente 100 para acesso não seqüencial. Na minha experiência, você pode estar olhando para ~ 10-20 MB / s no final, se você fez tudo certo.

Should we combine the HDD's to one big directory?

Você se beneficiará claramente da distribuição oferecida por md , dmraid ou controladores RAID de hardware para RAID0. Note que neste modo de operação você irá perder todos os dados uma vez que até mesmo um único disco falhe.

Se você ler e escrever solicitações paralelamente (mesmo se a porcentagem de gravações for muito baixa em comparação com as leituras), você se beneficiará da funcionalidade write-back do controlador RAID. Considere comprar um controlador com uma BBU para obter melhor consistência operacional (os controladores sem uma BBU perderão o conteúdo de seu cache em caso de falta de energia e poderão destruir seu sistema de arquivos).

Should the files all be placed in the same directory? (we're talking about 25,000,000 files or so)

Certamente não. Muitos sistemas de arquivos têm um desempenho ruim com um grande número de arquivos (> 50.000) em um único diretório. Evite esta condição por razões de portabilidade. Se você realmente precisar, dê uma olhada nos sistemas de arquivos que são conhecidos por tenha bom desempenho nestas condições .

What Filesystem should we use?

Depende. Teste sua carga com o grupo moderno e veja se você tem ineficiências. Você também pode encontrar tuneables e tweeks para reduzir o número de buscas em disco por acesso de arquivo para cada um deles (como montagem com noatime ).

No final, você pode querer dobrar o número de discos a serem usados para aumentar o desempenho e introduzir redundância em uma configuração RAID10.

    
por 06.07.2014 / 16:52