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
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.
Muito obrigado pela sua ajuda!
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
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.
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.
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.