MySQL, unidades de E / S de disco e unidades SSD

5

Temos uma caixa LAMP com 2 discos espelhados WD TB Caviar de 1 TB que executam todo o sistema operacional e o MySQL. 8 GB / RAM, 2x CPUs quad core.

Nós estamos realmente sobrecarregados com E / S de disco, e eu estive pensando em sugerir que alguns drives SSD fiquem lá por /var/lib/mysql , e acabar com isso. Fiz uma pequena pesquisa e gosto do preço do Intel X25-M 160 GB, mas li opções conflitantes sobre SSDs em produção.

Estamos em ~ 70 GB, principalmente tabelas MyISAM (> 95%). Estamos fazendo principalmente leituras durante a produção (8 às 17h), a maioria escreve durante a noite (12h - 8h).

Tem havido alguns posts úteis aqui antes sobre SSDs em produção, mas acho que os melhores estão um pouco desatualizados (. Existe um feedback mais atualizado sobre se os SSDs estão realmente prontos para empresas de médio porte? Se não, como posso escalar nosso servidor de banco de dados um pouco melhor?

    
por Stephen J. Fuhry 01.04.2011 / 17:20

4 respostas

10

Stephen, você precisa cavar mais fundo primeiro.

  • Todo o subconjunto "quente" (usado com frequência) do banco de dados caberia na RAM se você apenas atualizasse a RAM para algo maior, como 32 ou 64 GB?
  • Você verificou se o seu banco de dados possui os índices corretos, você realizou uma auditoria de desempenho básica do MySQL?

Sobre equipamentos de consumo: Usar equipamentos de nível de consumidor como seus discos WD em servidores é um tópico muito debatido. Pessoalmente, acho que é uma escolha errada em geral. Mas, certamente, não use SSDs de consumo, como o Intel X-25M (M significa mainstream). Os SSDs de nível empresarial têm durabilidade radicalmente diferente e escrevem metas de resistência dos SSDs de consumo ( melhor nivelamento de desgaste, mais provisionamento de espaço ).

Configuração típica: Uma configuração de disco típica para um servidor como o seu pode ser 4 discos SAS corporativos, em RAID10, usando um controlador RAID adequado, com um cache de RAM de controlador armazenando todas as gravações e uma unidade de backup de bateria para o cache. Esse equipamento não é exatamente barato, mas é uma escolha comprovada.

Os SSDs têm vantagens e podem ser substancialmente mais rápidos do que alguns discos convencionais no RAID 10 (especialmente em leituras aleatórias pesadas, assumindo que o conjunto de dados quente não se encaixa na RAM). A equipe da Percona faz um blog sobre os SSDs e o desempenho da vida real com o MySQL aqui .

Anyone have any more up-to-date feedback on whether SSDs are really ready for medium sized businesses?

Eles são, mas IMHO apenas os SSDs de nível corporativo e, de preferência, uma série de SSDs que estão em produção há algum tempo para corrigir bugs. Boas escolhas agora são as séries Intel X25-E (Extreme), e em 4-6 meses (quando elas estão mais maduras) o .

If not, how can I scale our db server a little better?

Talvez você já tenha feito isso, mas se não: minha primeira sugestão seria encontrar um administrador de banco de dados MySQL e fazer uma auditoria de desempenho do seu sistema. Você pode muito bem descobrir que adicionar mais E / S de disco não é uma solução econômica para o seu caso.

    
por 01.04.2011 / 17:52
4

Eu tenho feito raid arrays dessas unidades exatas, as Intel G2 de 160 GB há quase um ano. É um cluster de 12 servidores fazendo cerca de 3500 consultas por segundo no momento, mas isso é com muita capacidade de reserva, eu tive isso em 6 servidores e estava tudo bem. Se você faz a pesquisa e a matemática, basicamente se resume a "não usá-los por cinco anos ou mais", o que, para mim, arredondou para baixo e planejei substituí-los em outro ano. Considerando a quantidade insana de hardware e tempo de desenvolvedor que eles salvaram, eu poderia substituí-los a cada trimestre e ainda valeria a pena.

    
por 01.04.2011 / 20:23
0

Para qualquer coisa séria, você deve usar SSDs de nível corporativo como o FusionIO e o equipamento que a STEC vende. Eles têm dados sobre quando executar a manutenção (TRIM etc.) e fornecer suporte caso algo dê errado. Eu até vi SSDs STEC sendo arrancados por HBAs. Meu palpite é que o problema real aqui é que a maioria dos fornecedores expõe os SSDs não como flash, mas como um dispositivo de bloco e os firmwares de controladores lá fora não sabem realmente como lidar com discos e sua interface de firmware de disco. Apenas a experiência dirá. A coisa normal sobre backups e RAID também se aplica a SSDs.

Mas como você está usando o MyISAM como um back-end de armazenamento, a confiabilidade e a consistência podem não ser sua principal preocupação, portanto, basta comprá-los e ver o que acontece.

    
por 01.04.2011 / 17:39
0

Considere a atualização para o Percona MySQL, que é especificamente ajustado para os recursos de E / S do SSD. Basta mudar para drives SSD vai dar algumas melhorias, mas o MySQL não tira o máximo proveito das capacidades dos SSDs link

Veja os dados de referência deles em link

    
por 01.04.2011 / 19:57