RAID10 sem cache de write-back = desempenho de gravação horrível?

2

Acabei de provisionar um servidor dedicado em uma única loja.

Estou passando por alguns testes para saber o que esperar do desempenho. No lado de I / O (com 4 discos de 1 TB no RAID 10) eu recebo:

write-cache disabled
200 MB/s read throughput
30  MB/s write throughput

Eu achei que isso era muito baixo se comparado ao HD da minha área de trabalho, que fica entre 150-150 ou mais. Então eu conversei com eles e eles sugeriram ativar o cache de gravação. Novos resultados:

write-cache enabled
280 MB/s read
260 MB/s write

o que é ótimo e tudo, mas significa que eu teria que adicionar uma BBU por um custo mensal adicional.

É normal que a taxa de transferência seja 1/4 de uma unidade regular no RAID10, se você não tiver cache de gravação? É quase como se fosse intencionalmente ruim forçá-lo a pagar pela BBU. Eu ficaria feliz com o desempenho normal não-raid de 150/150.

ATUALIZAÇÃO: Eles estão dando uma olhada agora e vendo se há algo errado. Eu vou dar ahamat a resposta aceita como ele quebrou quando esta queda de 8x afetaria a carga de trabalho do servidor e quando não o faria. Será atualizado novamente se obtiver mais dados. +1 para outras respostas. Obrigado.

UPDATE2: Havia algo errado com o hardware. Movido para uma nova máquina com especificações idênticas e obtendo gravações de 80MB / s sem cache write-back. 250MB / s com o cache ativado. 3x drop-off e throughput razoável sem ele.

    
por Harry Mexican 26.10.2012 / 17:21

3 respostas

1

O desempenho em aplicativos reais varia, devido à natureza do aplicativo.

As gravações assíncronas irão para a RAM, enquanto você tiver alguma disponível para o buffer de gravação. Obviamente, gravar na RAM será significativamente mais rápido que no disco. Este é o padrão para a maioria dos sistemas operacionais modernos (todos?). Se você tiver RAM suficiente para gravar até que eles sejam liberados para o disco, todas as gravações serão exibidas com extrema rapidez. Embora haja um período de tempo em que a perda de energia resulta em perda de dados. O buffer de gravação em disco com backup de bateria reduz (mas não elimina completamente) esse período.

As gravações síncronas devem ser confirmadas no disco antes que a gravação possa retornar e seja significativamente mais lenta. Este é o modo padrão para o NFS e alguns outros aplicativos. Para gravações síncronas, o buffer de gravação em disco suportado por bateria aumenta significativamente o desempenho de gravação aparente e elimina o risco de perda de dados devido a falhas de energia. Tome nota, porém, que as gravações ainda estão indo para a memória volátil, apenas foi movido para a memória do disco PCB, em vez de memória principal. O ZFS resolveu isso de uma maneira diferente usando um SSD ZIL que se compromete com o SSD e retorna a operação de gravação, depois a move para os discos giratórios.

Então você realmente precisa olhar para o seu aplicativo. A maioria das suas gravações são síncronas ou assíncronas? Para assíncrono, você pode se safar com apenas um monte de RAM. Para sincronizar, você precisará do cache de gravação suportado pela bateria (mas o ZFS poderá fornecer uma solução mais barata).

Em qualquer caso, você precisa escrever em cache.

    
por 26.10.2012 / 19:23
2

Sim, você quer uma unidade de cache com bateria. A velocidade de gravação normalmente é ruim sem ela . Se o seu aplicativo exigir esse tipo de desempenho, você precisará pagar ...

    
por 26.10.2012 / 17:51
0

Em um cenário RAID10, ele é realmente lento, mesmo sem o cache write-back.
Qual ferramenta você tenta usar para medir? Eu recomendo o Phoronix para isso.
Nos discos RAID10 1TB SATA, uma gravação sequencial deve ser de pelo menos 80-100MB / seg, e aleatoriamente não deve cair abaixo de 50 (claro que isso depende da simultaneidade também)

    
por 26.10.2012 / 19:22