Semplice strumento Linux per il cronometraggio di una richiesta http in millisecondi


12

Sto cercando uno strumento semplice o un comando integrato che mi permetta di misurare con precisione millisecondo il tempo necessario per recuperare una pagina Web remota da un determinato URL.

Risposte:


12

Questo fa quello che stai cercando?

time wget http://example.com

Ciò includerà il tempo necessario per avviare ed eseguire wget, che può essere significativamente più lungo del tempo di risposta del server.
Paul Lynch,

@PaulLynch: ho fatto un semplice test. Ho eseguito questo in un terminale: rm foo; touch foo; python -m SimpleHTTPServere in un altro: time wget --quiet --output-document=/dev/null localhost:8000/fooe il risultato è stato di 2 millisecondi. Ho corso lo stesso wgetcontro google.com (che recupera circa 10K caratteri) e ho ottenuto circa un quarto di secondo. Quindi chiamiamo il tempo di avvio / esecuzione di circa l'1% in quel caso. Quindi, per confronto, l'ho fatto time curl file://fooe ho ottenuto circa 4 millisecondi.
In pausa fino a ulteriore avviso.

Sembra che tu abbia ragione, per le richieste http, per le quali ottengo solo circa 2ms di rallentamento. Stavo cercando di ottenere un URL https. Per questo, wget è più lento di circa 25 ms per una richiesta che Chrome restituisce in circa 10 ms (e non "dalla cache"). Sia wget che Chrome sono in esecuzione sullo stesso computer del server web e lo stanno indirizzando come "localhost", quindi biasimo wget per la differenza di fuso orario.
Paul Lynch,

7

Httping lo farà.

L'httping è come "ping" ma per le richieste http. Dagli un URL e ti mostrerà quanto tempo ci vuole per connetterti, inviare una richiesta e recuperare la risposta (solo le intestazioni). Ricorda che anche la trasmissione attraverso la rete richiede tempo! Quindi misura la latenza del server web + della rete.


3

Wireshark ti consentirà di esaminare un trasferimento in molti dettagli. Puoi vedere quanto tempo impiega a scaricare un singolo file, come suggerito da Dennis, oppure se apri l'URL in un browser web, puoi vedere quanto tempo impiega a caricare tutti i file correlati (immagini, script, ecc.).


2

Puoi farlo con l'arricciatura secondo questa risposta

Crea un nuovo file curl-format.txte incollalo in:

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

Quindi esegui l'arricciatura in questo modo:

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.