encontrando a carga? [fechadas]

1

Atualmente, estou usando um sistema linux (linaro) que tem um cartão de 2.4ghz e 5ghz msata conectado à placa ram de 1.2gb 1gb.

este fórum também tem um aplicativo da web (para que as pessoas possam se conectar a ele como um roteador e usá-lo como um servidor também)

aqui está minha pergunta:

A página da web demora mais do que deveria para carregar. (cerca de 4 segundos)

Eu gastei tempo otimizando a web e consegui reduzir o tempo de resposta para 2 segundos, mas isso ainda é lento para um aplicativo da web. Eu quero saber qual é a melhor maneira no sistema Linux para encontrar o ponto de falha? Eu quero monitorar o meu sistema e ver se o wireless está com problemas (largura de banda), o processamento, o banco de dados mysql, o PHP, o ram? qual é a melhor maneira de encontrar respostas?

Eu posso consertar e otimizar o problema que existe, mas preciso encontrar o gargalo da garrafa primeiro.

    
por TheHidden 23.01.2016 / 19:24

1 resposta

1

Se você quiser depurar o problema no sistema Linux, poderá obter uma visão geral de alto nível com essas ferramentas em tempo real:

  • htop para obter uma visão geral do uso da CPU e da memória
  • iotop para ver o rendimento geral de E / S (deve ser executado como root - " sudo ")
  • nethogs para ver a E / S da rede em detalhes (também raiz)

Alguns outros comandos são úteis, mas não são em tempo real:

  • netstat (prefiro sudo netstat -tunap ) mostra conexões UDP e TCP e seu estado de conexão
  • ls -l /proc/123/fd mostra os descritores de arquivos abertos do processo # 123 (os fd's são usados para todos os tipos de E / S)

Espero que isso ajude. Em relação ao mysql você também deve considerar executar um vácuo de vez em quando e também analisar quais índices você usa onde. Mais do que isso, você deve estar ciente de que JOIN s ou subsequente SELECT s pode facilmente se tornar um gargalo.

Devo acrescentar que o conjunto de ferramentas acima é de nível muito baixo. Ao criar perfis / otimizar um aplicativo da Web, geralmente prefiro usar mais ferramentas de alto nível que, na verdade, são independentes do sistema operacional. Os arquivos de log ajudam muito e você deve considerar o uso de print para registrar os timestamps. Dessa forma, você tem uma ideia de qual parte da função leva quanto tempo executar. Geralmente as operações de E / S são as mais lentas.

Além disso, eu realmente recomendo usar o Webpagetest.org , ele oferece bons gráficos em cascata de todas as solicitações HTTP enviadas pelo navegador.

    
por 23.01.2016 / 20:42

Tags