Otimizando o servidor MySQL

1

Preciso de ajuda para otimizar meu arquivo de configuração my.cnf. Eu tenho dois servidores conectados diretamente através da rede LAN (1 GBit / s). O primeiro servidor é um servidor web Apache e o segundo é um servidor MySQL.

O problema é que o servidor MySQL usa muito CPU e meu site fica muito lento.

Eu tenho 2500 usuários simultâneos.

link

Muito obrigado pela sua ajuda!

    
por splattne 12.02.2010 / 06:17

4 respostas

2

Eu sempre tenho mysqltuner informações para mim e sugiro - é um script perl que você pode obter no github.

Link direto para a página do projeto mysqltuner:              link

    
por 12.02.2010 / 06:31
0

Com essa alta simultaneidade, você realmente deve procurar algo como memcached . Quando implementado corretamente, ele pode reduzir bastante a carga de seus servidores de banco de dados armazenando (em RAM) bits de conteúdo acessados com freqüência.

Você também pode considerar girar um escravo mysql ou dois. A idéia é que todas as leituras do banco de dados serão direcionadas para os escravos e as gravações para o mestre. Naturalmente, sua capacidade de fazer isso depende do código do aplicativo e seu suporte para sistemas de banco de dados em cluster.

    
por 12.02.2010 / 06:32
0

eu segundo mysqltuner!

Você pode querer começar usando um dos arquivos de configuração de exemplo em / usr / share / mysql. Existem vários para escolher, dependendo dos recursos do sistema disponíveis. Integre todas as opções já personalizadas do seu my.cnf existente na configuração de exemplo.

Desative os mecanismos de armazenamento que você não está usando também:

skip-bdb
skip-ndbcluster
skip-federated
skip-innodb

Neste ponto, reinicie o mysql e deixe-o rodar por algumas horas; de modo a ter valores de desempenho representativos disponíveis. Então, como foi recomendado anteriormente, baixe e execute o mysqltuner.

Além disso, você pode querer configurar gráficos do desempenho do mysql no Munin ou em outra solução gráfica. É difícil saber se existem anomalias ou tendências de longo prazo no desempenho do mysql sem algo assim.

    
por 12.02.2010 / 06:49
0

Eu daria uma olhada no Jet Profiler para MySQL - Ele mostrará quais consultas estão usando mais CPU (entre muitas outras coisas) e sugerir melhorias.

    
por 12.02.2010 / 09:07