Como configurar mysql-server para carga pesada

3

Estou no processo de configuração de um novo servidor de banco de dados. Eu tenho executado alguns servidores de banco de dados mysql antes e tem funcionado bem.

Mas gostaria de ouvir a configuração recomendada para o meu servidor. Por exemplo, o que devo definir a conexão max, query_cache_size, table_cache e assim por diante.

Eu tenho em torno de 4-600 por segundo:

Open tables: 112 Queries per second avg: 430.386.

O servidor em que estou configurando tem a seguinte configuração:

Linux version 2.6.32-5-amd64 (Debian 2.6.32-41squeeze2)

2x Intel Xeon X3440 @ 2.53GHz

4GB Ram

/, /boot, /tmp etc on Software RAID1, 2x 7200RPM SATA

Data location on Software RAID0, 2x7200RPM SATA

Vou colocar os bancos de dados mysql no RAID0.

Estou faltando alguma coisa? Me avise!

Agradecemos antecipadamente, estou ansioso para ouvir de você: -)

/ Rasmus

    
por Rasmus 07.04.2012 / 16:49

4 respostas

5

é impossível dar uma boa resposta sem saber o tipo de carga de trabalho, quantidade de dados e padrões de uso que você tem. Sinceramente, mesmo com algum conhecimento daqueles que, no final, você terá que descobrir por si mesmo o que funciona melhor. isso significa muito benchmarking, rastreando o que acontece dentro , verificando regularmente o slow logs de consulta , etc.

As configurações padrão do mysql não são realmente ideais para o hardware moderno, como um ponto de partida razoável você pode usar os valores propostos pelo assistente de configuração mysql do percona ou mysqltuner.pl .

provavelmente, o inodb como mecanismo de armazenamento será mais ideal no seu caso. apenas 4 GB de memória é muito pouco [mas, novamente, não sei qual é o tamanho total do seu conjunto de dados]. 2x Xeon X3440 é muito em termos de poder de CPU, é melhor você ter um monte de tráfego simultâneo e ser capaz de caber todos os dados na memória, caso contrário você não fará muito uso dos processadores disponíveis apenas esperando os discos ler / escrever os dados.

nota lateral: dados em raid0? Espero que você tenha um servidor hot spare com replicação em tempo real ou que os dados não sejam importantes.

    
por 07.04.2012 / 17:42
2

A faixa RAID0 aka é MUITO perigosa para o DB. E para todo o resto também. Um disco perdido - tudo perdido. Stripe é um pouco mais rápido do que um único disco e outros RAIDs, mas é muito arriscado.

    
por 07.04.2012 / 17:37
2

WTF? Você tem o material crítico de não desempenho / material facilmente restaurado sendo executado em um espelho, enquanto seus dados voláteis críticos de desempenho estão no JBOD ????? Falta alguma coisa? Você entendeu completamente ao contrário.

Essa é a primeira e mais importante questão aqui. Se você realmente tem 4 discos, e assumindo que isso é algum tipo de aplicativo OLTP, então eu vou com algo como ...

disk1  [md0][md1  ][md2          ]
disk2  [md0][md1  ][md2          ]
disk3  [sw0][md3                 ]
disk4  [sw1][md3                 ]

Onde a inicialização está em md0, raiz em md1, dados distribuídos entre md2 e md3 (onde md0 ... 3 são RAID1). Com o RAID não espelhado nos discos 3 & 4 (você pode considerar colocar logs em sua própria partição no lugar de sw1).

A configuração para um sistema de tipo OLAP seria muito diferente.

Você também pode querer gastar algum tempo pensando sobre o sistema de arquivos que você executa nas partições de dados (o xfs é provavelmente uma aposta segura).

Quanto ao ajuste da instância mysql - depende de quais dados você está armazenando e como está sendo acessado. Leia a seção de ajuste no manual e obtenha myqltuner.pl e / ou o kit de ferramentas Percona. Mas primeiro você precisa decidir se innodb ou myisam é mais apropriado para você - novamente, isso depende do layout dos dados e de como eles são acessados.

    
por 08.04.2012 / 00:18
0

Para estatísticas básicas e recomendações, você pode começar com mysqltuner.pl script. Não aplique as recomendações às cegas, pois isso pode diminuir o desempenho.

Página do MySQLTuner Github

Para suporte estendido e recomendações / ajustes comuns, vale a pena conferir o site oficial da Percona e seus blog

    
por 07.04.2012 / 17:50