Como selecionar o melhor tamanho da faixa ao configurar uma matriz RAID

7

Existem várias "referências" na Internet que se aprofundam em algumas discussões sobre quais fatores considerar ao selecionar um determinado tamanho de faixa RAID (4KB a 128KB ou mais) para uma matriz de discos, mas nenhum deles é muito autoritativo nem consistente um com o outro realmente.

Por exemplo:

Tech Bits de John
Largura e tamanho da listra > Guia de Otimização RAID

Em particular, parece que vários fatores entram em jogo em relação às particularidades do tipo de sistema de arquivos (FAT, NTFS, etc.), tamanhos de clusters de sistema de arquivos, estratégia de cache, estratégia de despacho de comando de driver de disco, comandos podem ser enfileirados (enfileiramento marcado) para as unidades em questão, etc.

O que eu estou procurando é uma dissertação autoritativa, orientada a dados e referenciada sobre exatamente o que todos os fatores para consideração realmente são e, finalmente, como tomar uma abordagem analítica para selecionar o tamanho de faixa ideal para um determinado aplicativo sem passar pelo bruto force o exercício de tentar todas as combinações desses fatores para ver o que resulta no melhor desempenho.

    
por Tall Jeff 21.12.2009 / 01:44

1 resposta

4

Infelizmente, você pode achar tal dissertação difícil de encontrar, e mesmo que você tenha tropeçado em uma das coleções relevantes de artigos acadêmicos, a lei de sod diz que a única circunstância não coberta pelo artigo é a mais próxima do esperado. O padrões.

Na verdade, é uma área complexa - não complicada , pois cada parte do problema não é ciência de foguetes, mas complexa porque os diferentes fatores podem interagir uns com os outros de maneira bastante sutil - isso é por que você encontrará inconsistências significativas em algumas recomendações (o resultado dos testes em que as recomendações são baseadas depende muito da natureza exata dos testes e do padrão de E / S que eles estão tentando simular). Portanto, encontrar um documento que cubra suas necessidades exatas seria um golpe de sorte, a menos que suas necessidades sejam muito básicas (caso em que recomendações mais genéricas como "os padrões provavelmente estarão bem" serão suficientes). Qualquer papel que tentasse cobrir tudo (ou mesmo a maioria das coisas) levaria tanto tempo para ser irrelevante antes de ser concluído.

A única maneira verdadeira de ter certeza é tentar algumas combinações. Tente replicar uma carga típica de E / S para seu aplicativo em algumas configurações e veja como ele faz benchmarks. Espero que isso não seja inútil, mas acho que é a única maneira de ter certeza. Dito isto: se você fornecer alguns detalhes mais específicos do ambiente para o qual você está considerando a configuração RAID, alguém pode ser capaz de apontar para um papel ou outro recurso mais voltado para esse tipo de ambiente + kit + aplicativo + carga combinação do que as fontes que você já encontrou.

Como exemplo quase no tópico, fiz alguns testes RAID no meu netbook na semana passada (depois de decidir que o SSD interno estava escrevendo muito longe muito lentamente) e encontrei alguns resultados que foram Longe do que eu esperava quando comecei (embora parte disso seja devido a mim não perceber exatamente o quão ruim o SSD interno foi por algumas métricas!). Eu não vou te aborrecer com os detalhes exatos aqui como os padrões de I / O que eu me importo nesta circunstância serão mundos inteiros longe do que parece que você está considerando, mas vou reiterar que eu acho que realmente não há substituto para alguns testes de benchmarking baseados no seu conhecimento do sistema que você pretende construir, se você estiver querendo indicadores / recomendações específicos .

    
por 21.12.2009 / 02:12