Estou procurando uma ferramenta para testar um site a partir de uma linha de comando do Linux.
Na saída, preciso conhecer a resposta http (códigos de status), mas também comparar o tempo que leva para baixar os diferentes elementos do site.
Agradeço antecipadamente.
linux
command-line-interface
monitoring
Embreau
fonte
fonte
Respostas:
Você pode tentar
wget
com a-p
opção:Ele informará quanto tempo leva para baixar cada elemento e os códigos de retorno para cada solicitação.
fonte
wget -p URL -O /dev/null
Consulte o Apache Benchmark:
Apache Benchmark
Isso deve fornecer uma visão geral do desempenho da sua página.
fonte
Você pode querer olhar para as seguintes opções de
curl
:--write-out
- exibe qualquer uma das várias variáveis relacionadas ao tempo--trace-time
- Anexa um carimbo de data / hora a cada rastreamento ou linha detalhada--verbose
--include
- (HTTP) Inclua o cabeçalho HTTP na saída.--trace-ascii <file>
- Permite um rastreamento completo de todos os dados recebidos e enviados, incluindo informações descritivasE a seguinte opção de
wget
:--timestamping
- Ativar registro de data e horafonte
curl --trace-ascii <file> --trace-time -o /dev/null <url>
era exatamente o que eu precisava. Obrigado!Selênio e Onda são boas opções, dependendo do seu objetivo. Além disso, um utilitário que eu gostei bastante é
twill
. Mais informações estão disponíveis em http://twill.idyll.org/ .É bom, pois possui sua própria linguagem especializada para preencher formulários, validar links e verificar códigos de resposta. Como é apenas código Python, você pode importar facilmente as bibliotecas e automatizar seus testes se quiser fazer algo diferente.
fonte
Use curl para obter o cabeçalho da página e cronometrar o processo:
envolva isso em um loop while e você está pronto para ir. Da mesma forma, você pode verificar todos os elementos se souber o URL.
fonte
tente uma ferramenta de linha de comando chamada 'cerco', conforme instruído aqui
fonte
Qual ferramenta você escolhe depende do que você deseja medir e da complexidade do site.
Se o comportamento do site depender de cookies (por exemplo, o usuário precisa fazer login), ab / curl / wget (descrito em outras respostas) não será suficiente. Uma solução é usar o http :: recorder / www :: mechanize .
Todos os dados que você está solicitando estão nos logs do servidor da web - e um script awk simples os retornará de forma mais legível.
Esse é um indicador de desempenho muito ruim (embora seja útil para monitorar a integridade de um sistema de produção). Com exceção de recursos grandes / lentos, como relatórios volumosos, imagens iso, arquivos multimídia, a percepção de desempenho tem muito pouco a ver com o tempo necessário para processar uma única solicitação - e é realmente difícil medir com precisão (simplesmente adicionando% D no log do apache parece resolver o problema, mas ignora os handshakes TCP, negociação SSL, efeitos de cache, tempos de pesquisa de DNS).
Uma solução melhor é usar algo como o Boomerang - mas isso é executado em um navegador compatível com Javascript. Embora isso ofereça um melhor indicador de desempenho percebido do que rastrear solicitações HTTP individuais, ele depende de eventos do navegador para obter um valor para o desempenho - mas o desempenho recebido é o tempo necessário para a exibição da viewport (novamente, existem ferramentas para isso - veja as ferramentas de tira de filme no WebPageTest ).
Há também o argumento sobre como medir o desempenho realmente entregue aos usuários do site (RUM) versus testes sintéticos.
fonte
Se você vai precisar de algo maior do que enrolar e / ou wget, também há selênio
fonte
Eu acho que para executar o teste de desempenho, você pode tentar o JMeter . Você pode gravar seu teste usando o proxy embutido. Também é executado no modo de texto, local ou distribuído. Você pode salvar seus resultados no formato csv ou xml. Se você estiver usando o formato xml, também poderá armazenar o conteúdo da página.
fonte
Para verificar os cabeçalhos, eu gosto de
httpie
( documentos ).Instalação
Uso
fonte