I nästa artikel ska vi ta en titt på hur vi kan mäta svarstiden för en webbplats från terminalen med hjälp av cURL. Detta är intressant att veta, eftersom det kan ha stor inverkan på användarupplevelsen.
Oavsett om du är webbutvecklare eller om du hanterar en server vet du det hastighet det är något som alltid ska vara klart. Det är viktigt att allt fungerar korrekt så att användarna inte känner sig frustrerade när de besöker din webbplats.
Nästa kommer vi att se några kommandon för att kunna mäta svarstiden på en webbplats. Med dem kommer vi att kunna kontrollera tiden i sekunder för olika fält på både http- och https-sidor. Vi kommer att göra allt från Ubuntu-kommandoraden med cURL,
Använd cURL för att mäta lasthastigheten
Från webbplatser med HTTP
cURL har många alternativ tillgängliga, bland dem kan vi hitta -w, vilket kommer att vara användbart för skriva ut information till standardutdata efter en avslutad operation. Det erbjuder oss också några variabler som vi kan använda för att testa olika svarstider på en webbplats.
För att uppnå denna mätning ska vi använda några av de variabler som finns i officiell dokumentation för CURL. Dessa kan skickas i ett visst format som en bokstav eller i en fil.
Variablerna som vi kommer att använda är följande:
- time_name lookup → Tid i sekunder. Är tagen från starten tills namnupplösningen är klar.
- tid_anslut → Tid i sekunder. Från start till slutförande av TCP-anslutning till fjärrvärd eller proxy.
- time_pret transfer → Tiden i sekunder som det tog från början till filöverföringen skulle börja. Detta inkluderar alla kommandon och förhandlingar före överföring som är specifika för de berörda protokollen.
- time_starttransfer → Tiden i sekunder som det tog från början till den första byten skulle överföras. Detta inkluderar time_pretransfer och även den tid det tog för servern att beräkna resultatet.
- tid_total → Total tid i sekunder som hela operationen varade. Det löses i millisekunder.
till kör kommandot som vi ska montera med tidigare variabler, vi behöver bara öppna en terminal (Ctrl + Alt + T) och skriva:
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
Eftersom detta kan bli lite besvärligt att skriva det i en terminal varje gång vi vill använda det, kan vi välja att skriva det till en fil.
Inne i filen, som jag ska ge namnet på control-speed-web.txtmåste du klistra in följande kod:
\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
När vi väl är sparade och tillbaka i terminalen kan vi använd den här filen genom att skriva följande syntax:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
Ovanstående kommando kommer att fungera tyst läge tack vare -s. Med -w informationen skrivs ut stdout. För omdirigera utdata till / dev / null låt oss använda -o.
Från webbplatser med HTTPS
Om vi är intresserade av att använda detta test för HTTPS-webbplatser kan vi utföra kommandot i terminalen (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
I detta format används fler tidsvariabler utöver ovanstående. Och dessa är:
- time_appconnect → Tiden i sekunder som det tog från början tills SSL / SSH / etc-anslutningen till fjärrvärden slutfördes.
- time_redirect → Tid i sekunder, vilket tog alla omdirigeringssteg innan den slutliga transaktionen startade. Beräkna den totala körtiden för flera omdirigeringar.
Som i föregående fall kan den också skrivas till en fil. Som i föregående fall kommer jag att göra det samtal control-speed-web.txt, och inuti måste du klistra in:
\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
Vi sparade filen och tillbaka i terminalen använd den med syntax:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
För mer information kan du konsultera cUrl-dokumentation eller mansidan:
man curl
Como svarstidsvärdena kommer att ändras på grund av olika faktorer, är det lämpligt att utföra olika tester och fastställa en genomsnittlig hastighet. Något som vi också kommer att se är att åtkomst till en webbplats via HTTP i allmänhet är mycket snabbare än att göra det via HTTPS.