O que é mais importante para um servidor de banco de dados? Mem? Velocidade Mem? Núcleos?

9

Vou mover meu servidor de banco de dados para um novo hardware um pouco melhor. O atual servidor de banco de dados não tem nenhum problema, exceto que está rodando o Centos 4. O hardware atual é de 2 quad core xeon 5335, 4 15K RPM em RAID 10 e 4GB (sim, são apenas 4GB) de memória.

As escolhas de hardware no meu orçamento praticamente não têm diferenças de preço e terão os mesmos 4 discos rígidos de 15K RPM no RAID 10. Eles são:

  • 2 quad core xeon 5335 com 8 GB 533/667
  • 2 hexe xeon 2620 com 16 GB 1333
  • 4 opteron dual core 8212 com 8 GB 667
  • 1 octo core xeon 2650 com 8 GB 1333
  • 1 xeon quad-core 3460 com 16 GB 1333

Excluindo discos rígidos, qual é a ordem de partes importantes de um servidor de banco de dados? É algo como: tamanho da memória, velocidade da memória, núcleos e tamanho do cache?

    
por Echo 18.04.2012 / 19:36

3 respostas

19

Na minha experiência, o que você está procurando estaria nesta ordem de prioridade:

  1. Velocidade do subsistema de disco. O RAID10 na minha experiência é o melhor. Pontos de bônus para SSDs.
  2. Quantidade total de RAM Quanto mais memória RAM, mais cache seu servidor poderá ter.
  3. Velocidade da memória. A RAM mais rápida é obviamente melhor que a RAM mais lenta, mas a RAM é sempre mais rápida que os discos, portanto, uma RAM mais lenta é melhor que uma RAM menos rápida.
  4. Número de núcleos de CPU
  5. velocidade da CPU

Isso obviamente depende do aplicativo, mas normalmente o trabalho de um servidor de banco de dados é fornecer acesso muito rápido aos dados, então a velocidade da CPU é menos importante que a velocidade de acesso aos dados (discos e RAM). Mas, obviamente, se você estiver usando muitos cálculos matemáticos em suas consultas, precisará de mais recursos de CPU.

    
por 18.04.2012 / 19:42
6

Quando se trata de MySQL, você também deve considerar o mecanismo de armazenamento padrão dos seus dados.

Se estiver usando apenas dados MyISAM, você só precisa considerar o seguinte

Velocidade do disco, velocidade da memória, RAM total, CPU

Number of Cores é um grande fator não-chave porque MyISAM (na verdade, mysqld) não utiliza múltiplos núcleos.

Se estiver usando somente dados do InnoDB, agora você tem algo para falar quando se trata de núcleos.

O MySQL 5.5 agora vem com suporte multicore para o InnoDB.

Todas as CPUs estarão disparando em todos os cilindros do InnoDB, desde que você configure corretamente o InnoDB. Acredite ou não, se você não configurar o InnoDB, existem instâncias em que versões mais antigas do InnoDB serão mais rápidas e prontas para o uso do que as versões mais recentes.

Nota para os moderadores

Se houver muitos links, não faça downvote. Apenas me avise e posso parafrasear trechos desses links.

    
por 18.04.2012 / 20:07
0

De tudo o que já foi dito e do que pareço dos servidores de banco de dados: "2 hex core xeon 2620 com 16GB 1333" parece-me a primeira escolha.

Use RDIMM3 com velocidade de 1333 MHz - 12 ou 15 GB é provavelmente mais rápido que 16 GB, já que você pode dividir o número de DIMMs por 3.

Se o seu banco de dados estiver sobrecarregado com gravações, procure também um bom desempenho de E / S de disco.

    
por 18.04.2012 / 22:18