Desempenho de disco abaixo das expectativas

4

este é um follow-up para uma pergunta anterior que eu perguntei ( Dois servidores com velocidade de disco inconsistente ).

Eu tenho um servidor PowerEdge R510 com um controlador RAID PERC H700 integrado (chame esse servidor B) que foi criado usando oito discos com largura de banda de 3Gb / s que eu estava comparando com um servidor quase idêntico (chame esse servidor A) construído usando quatro discos com largura de banda de 6Gb / s. O servidor A tinha taxas de E / S muito melhores do que o servidor B.

Uma vez que descobri a diferença com os discos, tive o Server A reconstruído com discos de 6Gbps mais rápidos. Infelizmente isso não resultou em aumento no desempenho dos discos. Esperando que deve haver alguma outra diferença de configuração entre os servidores, retiramos os discos de 6Gbps do Servidor A e os colocamos no Servidor B. Isso também não resultou em aumento no desempenho dos discos.

Agora temos dois servidores idênticos criados, com a exceção de que um é construído com seis discos de 6Gbps e o outro com oito discos de 3Gbps, e as taxas de E / S dos discos são praticamente idênticas. Isso sugere que há algum gargalo além dos discos, mas não consigo entender como o Servidor B originalmente tinha melhor E / S que foi subseqüentemente 'perdido'.

Informações de E / S comparativas abaixo, conforme medidas pelo SQLIO. Os mesmos parâmetros foram usados para cada teste. Não são os números reais que são significativos, mas sim as variações entre os sistemas. Em cada caso, D: é um volume RAID 1 de 2 discos, e E: é um volume RAID 10 de 4 discos (além do servidor A original, onde E: era um volume RAID 0 de 2 discos).

Servidor A (configuração original com discos de 6Gpbs)

D: Read (MB/s)     63 MB/s
D: Write (MB/s)    170 MB/s
E: Read (MB/s)     68 MB/s
E: Write (MB/s)    320 MB/s

Servidor B (configuração original com discos 3Gpbs)

D: Read (MB/s)     52 MB/s
D: Write (MB/s)    88 MB/s
E: Read (MB/s)     112 MB/s
E: Write (MB/s)    130 MB/s

Servidor A (nova configuração com discos 3Gpbs)

D: Read (MB/s)     55 MB/s
D: Write (MB/s)    85 MB/s
E: Read (MB/s)     67 MB/s
E: Write (MB/s)    180 MB/s

Servidor B (nova configuração com discos de 6Gpbs)

D: Read (MB/s)     61 MB/s
D: Write (MB/s)    95 MB/s
E: Read (MB/s)     69 MB/s
E: Write (MB/s)    180 MB/s

Alguém pode sugerir alguma ideia do que está acontecendo aqui?

As unidades em uso são as seguintes:

por paulH 29.10.2013 / 18:02

4 respostas

4

Você precisa se concentrar menos na velocidade máxima da interface e observar mais as características de desempenho do disco físico, pois esse é normalmente o gargalo. Conforme descrito em este site para o disco SAS do servidor Hitachi Hus153030vls300 300GB você vinculou.

Em termos de desempenho, os números importantes listados no pdf da Hitachi são

  • Buffer de dados (MB) 16
  • Velocidade de rotação (RPM) 15.000
  • Média de latência (ms) 2.0
  • Taxa de transferência de mídia (Mbits / seg, max) 1441
  • Taxa de transferência sustentada (MB / seg. tip.) 123-72 (zona 0-19)
  • Tempo de busca (leitura, ms, típico) 3.6 / 3.4 / 3.4

Como todos esses números significam que o disco não será capaz de saturar um canal de 3 Gbps, não faz sentido ter um canal de 6 Gbps.

Não consigo imaginar um controlador RAID que possa utilizar o desempenho máximo de cada disco na mesma matriz ao mesmo tempo. Então, supondo que você tenha um RAID 1 com 2 discos, o primeiro capaz de 60MB / s sustentada sequencial ler e escrever velocidade e o segundo apenas 50MB / s, então escrevendo para o array será limitado a 50MB / s, enquanto um cartão de invasão decente ser capaz de ter 2 fluxos de leitura simultâneos, um a 60MB / se outro a 50MB / s. Quanto mais complexa a matriz, mais complicadas essas figuras se tornam.

Algumas outras notas

  • a taxa de transferência máxima de um disco é diferente em diferentes áreas do disco, normalmente é mais rápido no início do disco.
  • Leituras sequenciais
  • são as operações sustentadas mais rápidas que um disco pode fazer e leituras ou gravações aleatórias são significativamente mais lentas.
  • normalmente um controlador RAID desabilitará o cache de gravação on-board de um disco e só usará seu próprio cache para gravações se tiver uma boa bateria ou se você substituir o padrão.
  • Eu li sobre alguns exemplos de algumas combinações de firmware de disco / invasão que detectam falsamente uma bateria defeituosa e desativam todo o cache de gravação. Então, atualize seu firmware para o controlador de disco e raid

Existem alguns discos anunciados como discos de alto desempenho de 6 Gbps que na verdade não são de alto desempenho, eles apenas têm a interface de 6 Gbps e não poderiam saturar mesmo um link de 3 Gbps (o que levaria 357 MiB / s ).

O principal benefício de 6Gbps sas / sata é para SSDs e multiplicadores de porta (ou seja, anexar vários discos à porta 1 sas / sata)

    
por 06.11.2013 / 02:59
2

Não estou muito familiarizado com os sistemas Windows, mas aqui estão alguns pontos a serem levados em consideração ao fazer comparações, especialmente com pedidos de veiculação.

Tenha em mente este esquema que representa as camadas entre o seu aplicativo e os discos:

Application <=> Filesystem (OS) <=> Disk controller <=> Hard drive

E cada parte tem seu próprio método de mover informações para a parte superior e inferior, tem seu próprio cache, configuração, etc ...

  • Aplicação: (aqui sua ferramenta). Escrever grandes modificações em um grande bloco é melhor do que fazer muitas pequenas gravações. Você está esperando por um flush completo no disco, você está fazendo acesso seqüencial ou acesso aleatório ?
  • Sistema de arquivos: Existem muitos parâmetros aqui: armazenamento em cache pelo sistema operacional, pré-busca de dados, tamanho do bloco de dados
  • Controlador de disco: ele é o ponto central antes de acessar os discos rígidos. Sua configuração contará com 30% de seus ajustes. Entre eles, os principais pontos são:
    • Taxa de cache entre leitura / gravação. Dependendo da sua aplicação, a qual pode ser lida ou escrita intensamente, você configurará essa proporção de acordo.
    • Armazenamento em cache da bateria, permitindo os métodos WRITE-THROUGH ou WRITE-BACK.
    • Nível de ataque: você deve escolher o nível de acordo com sua necessidade de tolerância a falhas. RAID0 para tolerância de 0, mas ótimas performances, RAID1 para tolerância a falhas, mas 50% de espaço total em disco utilizável, RAID5 / 6 para comprometimento ...
  • Disco rígido: maior velocidade de rotação permitirá acesso mais rápido aos dados localizados em diferentes regiões de drive. Assim, melhor para busca aleatória

Além disso, pesquise sobre o alinhamento de dados : vi o Windows criando muitas vezes partições desalinhadas. Assim, quando o sistema de arquivos deseja gravar 1 bloco de 4kb, isso resulta em 2 entradas / saídas para o inversor, porque o bloco FS está localizado em 2 blocos de dispositivos.

Mais detalhes nos ajudariam a encontrar o gargalo.

Adrien.

    
por 07.11.2013 / 21:46
1

Você precisa atualizar o firmware do H710, dos HDDs e do backplane, se houver um. Se você executa o Linux, precisa atualizar apenas o firmware.

Além disso, antes de fazer isso, você pode instalar o Dell Server Admin (OMSA) como 7.3.0.1 no momento, para verificar se ele informará sobre quaisquer problemas com incompatibilidade.

Você precisa usar também o mesmo tipo de unidade na mesma matriz, se for SAS.

Então, basicamente, se você tem firmware de HDD errado, firmware SAS antigo, várias unidades SAS (mesmo que sejam SATA, elas podem ser executadas como SAS), não há como obter um desempenho consistente em todas as unidades.

Na verdade, se você tiver apenas tipos de unidade diferentes que poderiam causar isso.

    
por 01.11.2013 / 19:05
1

Na minha experiência, vi uma grande variação no desempenho de drives SAS de 15k. Você mencionou algumas trocas de unidades, mas parece que você está se concentrando nas velocidades de barramento 3Gig vs 6Gig quando isso terá pouca influência nos números de E / S que você indicou. Se eu estivesse no seu lugar, eu compararia as unidades individualmente para ver se eu tenho uma unidade lenta.

Quais outras configurações são aplicadas à sua configuração de RAID. Escreva políticas, cache, tamanho da faixa etc ... Eles eram consistentes entre os benchmarks?

    
por 07.11.2013 / 00:03