Meça a velocidade de um site com cURL do terminal Ubuntu

sobre como medir a velocidade de uma web com cURL

No próximo artigo, vamos dar uma olhada em como podemos medir o tempo de resposta de um site a partir do terminal usando cURL. É interessante saber isso, pois pode ter um grande impacto na experiência do usuário.

Se você é um desenvolvedor web ou gerencia um servidor, você saberá que a velocidade é algo que deve estar sempre pronto. É importante que tudo funcione corretamente para que os usuários não se sintam frustrados ao acessar seu site.

A seguir veremos alguns comandos para podermos medir o tempo de resposta de um site. Com eles poderemos verifique o tempo em segundos de diferentes campos das páginas http e https. Faremos tudo a partir da linha de comando do Ubuntu usando cURL,

Use cURL para medir a velocidade de carregamento

De sites com HTTP

controle de velocidade de uma web http

cURL tem muitas opções disponíveis, entre elas podemos encontrar -w, o que será útil para imprimir informações para saída padrão após uma operação concluída. Também nos oferece alguns variáveis ​​que podemos usar para testar os diferentes tempos de resposta de um site.

Para conseguir essa medição, vamos usar algumas das variáveis ​​que podem ser encontradas no documentação oficial cURL. Eles podem ser transmitidos em um determinado formato como uma string literal ou dentro de um arquivo.

As variáveis ​​que usaremos serão as seguintes:

  • time_namelookup → Tempo em segundos. Toma desde o início até que a resolução do nome esteja completa.
  • time_connect → Tempo em segundos. Desde a inicialização até a conclusão da conexão TCP para o host remoto ou proxy.
  • time_pretransfer → O tempo em segundos que levou desde o início até que a transferência do arquivo estava prestes a começar. Isso inclui todos os comandos e negociações de pré-transferência que são específicos aos protocolos envolvidos.
  • time_starttransfer → O tempo em segundos que levou do início até que o primeiro byte estava prestes a ser transferido. Isso inclui time_pretransfer e também o tempo que o servidor levou para calcular o resultado.
  • tempo_totalTempo total em segundos que toda a operação durou. Ele é resolvido em milissegundos.

Pára execute o comando que vamos montar com as variáveis ​​anteriores, só teremos que abrir um terminal (Ctrl + Alt + T) e escrever:

curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com

Como pode ser um pouco complicado gravá-lo em um terminal toda vez que quisermos usá-lo, podemos escolher gravá-lo em um arquivo.

Dentro do arquivo, ao qual vou dar o nome de control-speed-web.txt, você deve colar o seguinte código:

\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n

Depois de salvo e de volta ao terminal, podemos use este arquivo digitando a seguinte sintaxe:

curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com

O comando acima funcionará em modo silencioso graças a -s. com -w a informação é impressa em stdout. Para redirecionar a saída para / dev / null vamos usar -o.

De sites com HTTPS

medir a velocidade de uma web https

Se estivermos interessados ​​em usar este teste para sites HTTPS, podemos executar o comando no terminal (Ctrl + Alt + T):

curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com

Neste formato, mais variáveis ​​de tempo são usadas além das acima. E estes são:

  • time_appconnect → O tempo em segundos que levou desde o início até que a conexão SSL / SSH / etc para o host remoto foi concluída.
  • time_redirect → Tempo em segundos, que demorou todas as etapas de redirecionamento antes do início da transação final. Calcule o tempo total de execução para vários redirecionamentos.

Como no caso anterior, ele também pode ser gravado em um arquivo. Como no caso anterior eu irei llamar control-speed-web.txt, e dentro você terá que colar:

\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n

Salvei o arquivo e de volta ao terminal, podemos use-o com sintaxe:

curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com

Para obter mais informações, você pode consulte o documentação cUrl ou a página de manual:

man curl

Como os valores do tempo de resposta mudarão devido a diferentes fatores, é aconselhável realizar diversos testes e estabelecer uma velocidade média. Algo que também veremos é que acessar um site por meio de HTTP geralmente é muito mais rápido do que por meio de HTTPS.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.