Como posso saber onde um gargalo está em um servidor? [fechadas]

1

Eu tenho um servidor LAMP em execução com um grande banco de dados que atende a um grande número de solicitações. Se as coisas começarem a ficar mais lentas, como posso saber se o gargalo é o banco de dados, o processador, a E / S de disco ou a largura de banda ou alguma outra coisa? Como faço isso em um servidor ao vivo, ou seja, não quero descartar o benchmarking.

    
por cat pants 16.01.2012 / 01:18

3 respostas

3

Verifique cada possibilidade ... top ou htop para uso do processador / RAM e veja qual processo está consumindo mais recursos, consultas lentas para o banco de dados, monitoramento de rede para largura de banda e assim por diante.

    
por 16.01.2012 / 01:45
2

Onde a utilização é alta? O que htop e iotop dizem a você? Você está trocando?

Você executa comandos do terminal ou ssh

    
por 16.01.2012 / 01:42
1

Infelizmente, no MySQL, não há como consultar a lista das consultas mais consumidas, agrupadas por consultas, sem as variáveis.

É sempre bom executar o relatório de consultas demoradas, mas pode não ser o mais demorado (uma consulta rápida, chamada mais, pode reduzir sua carga de trabalho em muito se você reduzir a memória e o consumo de CPU pela metade de alguma forma )

No banco de dados, seus problemas de desempenho podem ser por design (modelo de design deficiente), desempenho do servidor (tente colocar seus índices e seu arquivo de dados em partições diferentes) ou simplesmente otimização de consulta.

Tente identificar qual parte do seu site é particularmente lenta e quanto é chamada. Tente cruzar essas duas informações para identificar eventuais gargalos.

É uma dor no MySQL para identificar consultas específicas de baixo desempenho.

    
por 16.01.2012 / 01:53