HP P410 RAID + SSDs Samsung 830 + Debian 6.0 - Qual o desempenho esperado?

3

Estou alugando dois servidores dedicados de uma empresa de hospedagem. Aqui estão as especificações:

server1:
HP ProLiant DL165 G7
2x AMD Opteron 6164 HE 12-Core
40 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 256 GB SSD

server2:
HP ProLiant DL120 G7
Intel Xeon E3-1270
16 GB RAM
HP Smart Array P410 RAID controller
2x Samsung 830 128 GB SSD

A configuração é a mesma nos dois servidores:

  • Debian 6.0.
  • Sem troca.
  • Os sistemas de arquivos usam ext3 sem opções de montagem especiais (somente rw) e tenho certeza de que as partições estão alinhadas corretamente.
  • Usando o agendador noop.
  • RAID 1.
  • O controlador RAID
  • tem BBU.
  • Cache de gravação da unidade foi ativado nos controladores RAID.
  • A proporção de cache de leitura / gravação é de 25% / 75% em ambos os controladores RAID.

Atualmente, estou tentando descobrir como obter o máximo dos discos nesses servidores, começando com leituras / gravações sequenciais. Aqui estão as velocidades que estou vendo no momento:

Writes:
server1:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.05089 s, 213 MB/s

server2:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.09768 s, 262 MB/s

Reads:
server1:~# echo 3 > /proc/sys/vm/drop_caches
server1:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.14051 s, 259 MB/s

server2:~# echo 3 > /proc/sys/vm/drop_caches
server2:~# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.33901 s, 322 MB/s

Primeiro de tudo, alguém pode explicar a grande diferença entre esses servidores?

Em segundo lugar, devo esperar mais do que isso? Quando eu li sobre o Samsung 830 SSD eu vi velocidade de gravação de mais de 300 MB / se velocidades de leitura de mais de 500 MB / s usando o mesmo método de benchmarking (dd) Mas então não há controlador RAID envolvido. A penalidade do RAID é tão alta ou é um problema de configuração?

ATUALIZAÇÃO:

Eu fiz alguns testes usando o iozone em vez do dd e os resultados que estou obtendo fazem muito mais sentido. Não há grande diferença entre os dois servidores (server1 é um pouco mais rápido agora) e estou chegando muito perto das velocidades classificadas nessas unidades. Então eu acho que não deveria ter usado dd. Lição aprendida!

Eu usarei noop com nr_requests e read_ahead_kb configurados com os padrões (128 e 128) para começar. A configuração read_ahead_kb higher parece prejudicar muito o desempenho de leitura aleatória no servidor2. Espero que eu tenha tempo para revisitar isso uma vez que usei os servidores em produção por um tempo quando tenho uma imagem mais clara dos padrões de uso.

    
por ntherning 24.09.2012 / 18:57

3 respostas

7

Há muito a cobrir aqui.

Se você deseja mais desempenho (na ordem do maior para o menor impacto):

  • Adicione outro par de discos e expanda para RAID 1 + 0. Isso proporcionará o maior benefício.
  • Ajuste seu sistema de arquivos ( noatime , modo de registro no diário, remova as barreiras de gravação etc.) e / ou mude para um sistema de arquivos de desempenho mais alto, como XFS ou mesmo ext4.
  • Volte para um elevador de prazo . Ele terá um desempenho melhor sob cargas de trabalho realistas do que o seu agendador do noop .
  • Atualize o firmware de seu Controladores HP Smart Array P410 (e o servidor , também)
  • Considere algumas técnicas de ajuste mais avançadas
  • Melhore sua técnica de benchmarking. dd não é uma maneira apropriada de medir o desempenho de E / S. Experimente aplicações específicas, como o iozone , bonnie ++ , etc. e ajustá-los aos seus padrões de leitura / gravação desejados.
  • Para leituras / gravações puramente sequenciais, as unidades SAS regulares também não são uma má escolha ...

No que diz respeito à compatibilidade, eu uso discos que não são da HP com controladores e servidores HP RAID com frequência. Às vezes, as coisas não funcionam, mas se o seu SSD estiver conectado, informa a temperatura adequada e não exibe erros no HP Array Configuration Utility, você está bem.

Você está usando os agentes de gerenciamento da HP no servidor, não é?

Editar:

Corri o mesmo em um dos meus sistemas, apresentando o mesmo controlador com quatro SSDs SATA, XFS sintonizado, elevador de prazo final, etc.

[root@Kitteh /data/tmp]# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.1985 s, 336 MB/s

[root@Kitteh /data/tmp]# echo 3 > /proc/sys/vm/drop_caches
[root@Kitteh /data/tmp]# ll
total 1048576
-rw-r--r-- 1 root root 1073741824 Sep 24 14:01 tempfile

[root@Kitteh /data/tmp]# dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.60432 s, 669 MB/s
    
por 24.09.2012 / 19:53
0

Usando unidades que não sejam da HP com controladores HP SmartArray, você não deve esperar nenhum desempenho específico ou que ele funcionará. A HP deixou bem claro que, se seus controladores SA funcionarem com unidades que não são da HP, isso é totalmente não intencional e sem suporte. Se você quiser um bom desempenho dessas unidades, adquira um HBA que ofereça suporte a elas (o LSI e o Adaptec, que realmente tornam os controladores SA da HP, tendem a ser excelentes opções).

    
por 24.09.2012 / 19:10
0
Primeiro, a Adaptec não fabrica o Smartarray, mas em alguns casos a HP usou o chipset SCSI da adaptec em seus Smararrays.

Em segundo lugar, leia isto, contenha informações importantes sobre o ajuste smartarray com SSD.

link

    
por 27.09.2012 / 14:46