MySQL Optimization

1

Eu tenho um servidor com muita energia da CPU.

Minha CPU ociosa é ~ 95% e o io aguarda 0,2%. Como posso utilizar mais CPU para obter um banco de dados geral mais rápido? Devo trocar algumas das minhas tabelas MyISAM pelo InnoDB?

    
por Marki 01.09.2009 / 22:51

3 respostas

2

Eu suspeito que você esteja atingindo bloqueios de mesa, já que sua CPU e seu iowait estão muito baixos.

O InnoDB pode ajudar, mas, no final das contas, você é mais bem atendido ao corrigir o aplicativo que está sendo executado.

Você deve obter estatísticas sobre quantos bloqueios foram solicitados, quantos foram concedidos imediatamente, etc., que devem confirmar se esse é realmente o problema.

Outra maneira de verificar é puxar regularmente a lista de processos do mysql. Você verá rapidamente um padrão (por exemplo, todas as consultas em espera, use a tabela "foo"). A consulta ativa bloqueando os outros é um bom lugar para começar a otimizar o software; essa tabela é boa para considerar a conversão para o InnoDB.

    
por 02.09.2009 / 01:14
0

Se o seu banco de dados for pequeno o suficiente, aumente o tamanho de seus caches para que todo o banco de dados possa ser armazenado na memória. Supondo que suas consultas sejam todas otimizadas e você tenha índices no lugar certo, não é possível tornar seu banco de dados muito mais rápido do que isso.

O acesso ao disco não é realmente uma tarefa intensiva da CPU. A CPU diz Vá e aguarda a resposta. O controlador de E / S e o disco fazem todo o trabalho. Não espere o acesso ao disco para alinhar sua CPU.

    
por 02.09.2009 / 00:15
0

você pode tentar o sintonizador mysql do hacker do racker.

link

    
por 02.09.2009 / 01:00

Tags