I neste artikkel skal vi se på hvordan vi kan måle svartiden til et nettsted fra terminalen ved hjelp av cURL. Dette er interessant å vite, siden det kan ha stor innvirkning på brukeropplevelsen.
Enten du er en webutvikler eller du administrerer en server, vil du vite det hastighet det er noe som alltid skal være klart. Det er viktig at alt fungerer som det skal, slik at brukerne ikke føler seg frustrerte når de får tilgang til nettstedet ditt.
Neste skal vi se noen kommandoer for å kunne måle svartiden til et nettsted. Med dem vil vi kunne sjekk tiden i sekunder for forskjellige felt på både http- og https-sidene. Vi vil gjøre alt fra Ubuntu-kommandolinjen ved hjelp av cURL,
Bruk cURL til å måle lastehastigheten
Fra nettsteder med HTTP
cURL har mange tilgjengelige alternativer, blant dem kan vi finne -w, som vil være nyttig for skrive ut informasjon til standard utdata etter en fullført operasjon. Det gir oss også noen variabler som vi kan bruke til å teste de forskjellige responstidene av et nettsted.
For å oppnå denne målingen, skal vi bruke noen av variablene som finnes i offisiell cURL-dokumentasjon. Disse kan sendes i et gitt format som en bokstavelig streng eller i en fil.
Variablene vi vil bruke vil være følgende:
- time_name lookup → Tid i sekunder. Er tatt fra begynnelsen til navnoppløsningen er fullført.
- time_connect → Tid i sekunder. Fra oppstart til fullføring av TCP-tilkobling til ekstern vert eller fullmektig.
- time_pret transfer → Tiden i sekunder det tok fra begynnelsen til filoverføringen var i ferd med å begynne. Dette inkluderer alle kommandoer og forhandlinger før overføring som er spesifikke for de involverte protokollene.
- time_starttransfer → Tiden i sekunder det tok fra begynnelsen til den første byten skulle overføres. Dette inkluderer time_pretransfer og også tiden det tok for serveren å beregne resultatet.
- tid_ totalt → Total tid i sekunder som hele operasjonen varte. Det løses i millisekunder.
Til utfør kommandoen som vi skal montere med de forrige variablene, vi trenger bare å åpne en terminal (Ctrl + Alt + T) og skrive:
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
Siden dette kan bli litt tungvint å skrive det i en terminal hver gang vi vil bruke det, kan vi velge å skrive det til en fil.
Inne i filen, som jeg skal gi navnet på control-speed-web.txt, må du lime inn følgende kode:
\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 du er lagret og tilbake i terminalen, kan vi bruk denne filen ved å skrive følgende syntaks:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
Ovennevnte kommando vil fungere videre stille modus takket være -s. Med -w informasjonen er skrevet ut stdout. For omdirigere utdata til / dev / null la oss bruke -o.
Fra nettsteder med HTTPS
Hvis vi er interessert i å bruke denne testen for HTTPS-nettsteder, kan vi utføre kommandoen 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 dette formatet brukes flere tidsvariabler i tillegg til ovennevnte. Og disse er:
- time_appconnect → Tiden i sekunder det tok fra begynnelsen til SSL / SSH / etc-tilkoblingen til den eksterne verten ble fullført.
- time_redirect → Tid i sekunder, som tok alle omdirigeringstrinn før den siste transaksjonen startet. Beregn den totale gjennomføringstiden for flere omdirigeringer.
Som i forrige tilfelle kan det også skrives til en fil. Som i forrige tilfelle vil jeg samtale control-speed-web.txt, og inne må du lime inn:
\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 lagret filen og tilbake i terminalen bruk den med syntaks:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
For mer informasjon kan du ta kontakt med cUrl-dokumentasjon eller mannssiden:
man curl
Como responstid verdiene vil endres på grunn av forskjellige faktorer, anbefales det å utføre forskjellige tester og etablere en gjennomsnittshastighet. Noe som vi også kommer til å se er at tilgang til et nettsted gjennom HTTP generelt er mye raskere enn å gjøre det gjennom HTTPS.