mysql - uso anormalmente alto da CPU

1

Recentemente, notei que meu servidor MySQL consome uma quantidade anormalmente grande de recursos da CPU:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
2427 mysql     20   0 2198m 161m 5568 S 1600.0  4.4  5121391h /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql

Eu estou anexando dois arquivos - um com minha configuração do MySQL e another com a saída do mysqlreport. Os logs de erro do MySQL estão limpos. mytop mostra poucos registros, mas eles são alterados o tempo todo e é difícil entender se essa sobrecarga é devido a esses registros. Às vezes, a lista de processos está vazia.

Também estou anexando os detalhes do meu servidor. Eu vou pensar que o topo mostra informação errada). Aprecie qualquer ajuda.

    
por Andrew 29.01.2012 / 22:06

4 respostas

3

Pare de olhar para o sistema e comece a ver o que está acontecendo com o MySQL. Mesmo o mais breve olhar para o relatório deixa claro que você tem algumas consultas incrivelmente ineficientes. Trabalhe na indexação e otimização adequadas e acredito que seus problemas desaparecerão.

    
por 29.01.2012 / 23:32
1

Uma vez eu vi meu disco rígido no meu servidor mysql foi mal e, em seguida, cpu shootup.

    
por 30.01.2012 / 01:20
1

Algumas coisas que notei podem ser mais detalhadas:

__ Bytes _______________________________________________________________
Sent          743.25M  960.3k/s
Received        9.79M   12.6k/s

Isso leva você a cerca de 8Mbps (Mega bits / segundo), o que, além da sobrecarga, levaria você muito perto de maximizar uma conexão típica de 10Mbps.

__ InnoDB Buffer Pool __________________________________________________
Reads           9.81M   12.7k/s
__ InnoDB Data, Pages, Rows ____________________________________________
Rows
  Read         73.43M   94.9k/s

Não sei exatamente o que você está fazendo, mas isso parece muito, muito alto e provavelmente além do que um servidor dedicado de baixo nível pode suportar confortavelmente. Se você realmente precisa dessa quantidade de tráfego, terá que procurar um hardware maior e / ou maior. Eu incluiria alguns perfis e benchmarking básicos para descobrir exatamente o quanto você precisa e o quanto seu hardware atual pode suportar.

    
por 30.01.2012 / 01:32
0

Execute este comando para verificar se alguma consulta está sendo executada em segundo plano e consumindo recursos da CPU:

SHOW FULL PROCESSLIST

Em seguida, mate o processo desonesto usando o Identifier

Eliminar ID

    
por 01.02.2018 / 09:13

Tags