Analise consultas lentas do MySQL
Você ativou o log de consulta lenta e agora tem um registo para rever. Se não tiver ativado o registo, pode encontrar os passos aqui .Analisar o registo
Localização do registo:/var/log/slow-queries.log
# Time: 210905 6:33:11 # User @ Host: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; SET timestamp = 1409898791; ... SLOW QUERY AQUI ...
O registo pode ser opressor quando tem dezenas, senão centenas de entradas no formato acima. Para tornar o log mais legível, use mysqldumpslow para analisar o log.
mysqldumpslow -r -a /var/log/mysql/mysqld.slow.logA saída conterá informações importantes como hora , linhas e consulta .
Contagem: 2 Tempo = 20,54s (41s) Bloqueio = 0,02s (0s) Linhas = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table ONDE site_user_id = '214380' ORDEM POR site_id DESC LIMIT 0,2 Contagem: 1 Tempo = 21,74s (21s) Bloquear = 0,01s (0s) Linhas = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDENAR POR site_id DESC LIMIT 0,2 Contagem: 1 Vez = 23.86s (23s) Lock = 0.20s (0s) Rows = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDEM POR site_id DESC LIMIT 0,2
Olhando para o exemplo acima, temos 1 consulta que demorou entre 20 e 24 segundos a ser executada. Isto causa problemas com o seu site que vão desde tempos de carregamento lentos até erros de tempo limite (rotação interminável). A consulta está examinando 12.547.802 linhas. Uma consulta grande (ou seja, select *) executada em uma tabela com mais de 12 milhões de linhas provavelmente resultará em uma experiência do usuário insatisfatória. Otimizar a consulta (ou seja, selecionar "mesas de centro") ou reduzir as linhas examinadas (ou seja, arquivar dados antigos) irá acelerar a consulta.
Se o arquivo de log for grande, execute mysqldumpslow e salve a saída em um arquivo. Isto tornará mais fácil rever com outras ferramentas de manipulação de ficheiros, como grep ou find .
mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed
Passos seguintes
Após rever o registo de consultas lentas, deverá ter uma boa ideia das consultas problemáticas que necessitam de ser corrigidas. Se o seu site ainda estiver lento com o MySQL e usando muitos recursos, pode ser necessário otimizar o MySQL para utilizar melhor os recursos do seu servidor.
Assim que terminar o registo, certifique-se de que desativa o registo de consulta lenta do MySQL . Deixar o registo ativado irá drenar recursos do MySQL desnecessariamente e potencialmente encher o seu disco (com consultas incorretas).
Serviços de alojamento GoDaddy
Os nossos especialistas em servidores podem ativar / desativar o registo de consultas lentas do MySQL e otimizar o MySQL. Para saber mais sobre este serviço, um Guia GoDaddy está aqui para ajudar.