ideias mysql de resolução de problemas

nível de banco de dados

A: Verifique se há problemas ferramentas comuns

1: msyqladmin: cliente MySQL, você pode gerenciar a operação

2: mysqlshow: poderosa comandos shell para vista

3: show de [sessão | global] variáveis: ver as informações de parâmetro de banco de dados

4: MOSTRA [SESSION | GLOBAL] STATUS: banco de dados de informações de status

5: information_schema: obter método metadados

6: Show de INNODB STATUS: Todos os motores Innodb estaduais

7: SHOW PROCESSLIST: Exibir o status atual de todos os sessão conectada

8: explicar: obter o plano de execução da consulta

9: show de índice: veja informações índice da tabela

10: slow-log: consulta lenta registro

11: mysqldumpslow: file slowlog análise

 

Dois: Soluções

ideias de ajuste de emergência geral: aplicar para um negócio súbita Caton, incapaz de realizar as necessidades normais de processamento de negócios a ser tratadas imediatamente Cena

1: mostra processl;

2: explicar select id, nome de stu onde name = 'CLSN'; # Só sexo nome ID de idade;

selecionar id, nome de stu onde id = 2-1 funções resultar set> 30; show de índice da tabela;

3: Implementação julgamento Plano, questões de indexação (não há, é razoável) ou a própria afirmação é o problema;

4: mostrar o status como '% bloqueio%'; # status de bloqueio de consulta

matar SESSION_ID; # matar uma sessão de problema.

ideias de ajuste convencionais: para o negócio cíclico Caton, por exemplo, 10-11 sou todos os negócios, especialmente lento, mas também pode ser usado durante um período de tempo muito bem.

1: Ver slowlog, análise slowlog, analisar instrução de consulta lenta;

2: de acordo com determinadas prioridades, uma a uma investigação todas as declarações lentas;

3: Analisar SQL top, executar explicar depuração, consulte o tempo de execução de instrução;

4: Ajuste índice ou declaração em si.

 

 

nível do sistema

A: Verifique se há problemas ferramentas comuns

Cpu 方面: vmstat, top sar, htop, nmon, mpstat;

Memória: livre, ps-aux;

dispositivos IO (disco, rede): iostat, ss, netstat, iptraf, iftop, lsof;

vmstat comando Descrição:

1) Procs: Eventos R quantos processos estão à espera de tempo de CPU. b exibido com o número de processo de sono não interrompido. À espera de I / O.

2) A memória: visor swpd é transferido para o bloco de dados de número de disco. bloco de dados, tamponar o bloco de dados de utilizador não é usado, o número de blocos de dados para o sistema operativo.

3) Troca: comutação a partir da segunda memória de sistema operativo e disco de memória para o valor do bloco de dados trocados a partir do disco. s0 s1 e são, de preferência 0.

4) Io: b1 é lido a partir do segundo dispositivo, o número de blocos de dados do dispositivo escrito para b0. Ela reflete o disco I / O.

5) Sistema: mostra o número de número de interrupções (em) por ocorrência e contexto de comutação (cs) de.

6) CPU: exibindo um código de utilizador em execução, o código do sistema, está ocioso, tempo de CPU de espera de I / O.

iostat Comando Descrição:

Exemplos de comando: iostat -dk 1 5

       iostat -d -k -x 5 (ver a utilização da capacidade (% util) e o tempo de resposta (a Await))

1) TPS: o número de transferências por segundo dispositivo. "Primeira transmissão" significa "um I / O pedido." Uma pluralidade de pedidos lógicas podem ser combinados num "pedido de uma I / O."

O número máximo de IO fábrica de hardware quando a fábrica definida por uma segunda: 2) iops

3) "primeira transmissão" tamanho solicitado é desconhecida.

4) kB_read / s: a quantidade de dados lidos a partir do segundo dispositivo (unidade de expresso);

5) KB_wrtn / s: a quantidade de dados para um segundo dispositivo (unidade de expresso) escrito;

6) kB_read: A quantidade total de dados de leitura;

7) kB_wrtn: a quantidade do número total de escrita de dados; estas unidades são kilobytes.

 

Dois: soluções de nível de sistema para os problemas

Você acha no bem alta carga final, baixa ou bom? Na produção real, geralmente considerado Cpu contanto que não mais do que 90% não têm nenhum problema.

Nós não descartar esses casos especiais abaixo:

carga de CPU alta, baixa carga IO

1) A memória não é suficiente;

2) de disco desempenho pobre;

3) problema SQL ---> para a camada de banco de dados, assuntos de SQL uma investigação mais aprofundada;

4) IO um problema (crítica para o disco, ataque mal concebidos, invasão rebaixamento, de bloqueio, TPS demasiado elevada na unidade de tempo);

5) TPS muito alto: um grande número de pequenos dados IO, um grande número de varredura completa da tabela.

IO carga elevada, baixa carga da CPU

1) um grande número de pequenas IO escreve:

o autocommit, um grande número de pequenas IO; um número máximo de valor IO IO / PS, disco, fábrica de hardware quando um segundo definido pelo fabricante.

2) um grande número de grandes IO escreve: o problema é relativamente grande chance de SQL

IO e ter uma alta carga de cpu

O problema não é hardware ou SQL.

 

Publicado 50 artigos originais · ganhou elogios 2 · Vistas 2246

Acho que você gosta

Origin blog.csdn.net/eafun_888/article/details/104738612
Recomendado
Clasificación