Slik tester du lastehastighet for nettsted i Linux-terminal
En nettsideresponstid kan ha stor innvirkning på brukeropplevelsen, og hvis du er en webutvikler, eller rett og slett en serveradministrator som er spesielt ansvarlig for å organisere bitene sammen, så må du gjøre det til et poeng at brukerne ikke føler frustrert mens du besøker nettstedet ditt – så det er virkelig «behov for hastighet ».
Les også: httpstat – A Curl Statistics Tool for Check Website Performance
Denne guiden vil vise deg hvordan du tester responstid på et nettsted fra Linux-kommandolinjen. Her vil vi vise hvordan du sjekker tiden i sekunder, det tar:
- for å utføre navneløsning.
- for TCP-tilkobling til serveren.
- for at filoverføringen skal begynne.
- for den første byten som skal overføres.
- for hele operasjonen.
I tillegg, for HTTPS-aktiverte nettsteder, vil vi også se hvordan du tester tiden, i sekunder, det tar: for en omdirigering og SSL-tilkobling/håndtrykk til serveren skal fullføres. Det høres bra ut, ok, la oss komme i gang.
cURL er et kraftig kommandolinjeverktøy for å overføre data fra eller til en server ved å bruke protokoller som FILE, FTP, FTPS, HTTP, HTTPS og mange andre. I de fleste tilfeller brukes den som en kommandolinjenedlaster, eller for å sjekke HTTP-hoder. Imidlertid vil vi her beskrive en av de mindre kjente funksjonene.
cURL har et nyttig alternativ: -w
for å skrive ut informasjon om stdout etter en fullført operasjon. Den har noen variabler som vi kan bruke til å teste de forskjellige responstidene som er oppført ovenfor, for et nettsted.
Vi vil bruke noen av de tidsrelaterte variablene, som kan sendes i et gitt format som en bokstavelig streng eller inne i en fil.
Så åpne terminalen din og kjør kommandoen nedenfor:
curl -s -w 'Testing Website Response Time for :%{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
Variablene i formatet ovenfor er:
- time_namelookup – tid, i sekunder, det tok fra starten til navneløsningen var fullført.
- time_connect – tid, i sekunder, det tok fra starten til TCP-tilkoblingen til den eksterne verten (eller proxyen) ble fullført.
- time_pretransfer – tid, i sekunder, det tok fra starten til filoverføringen akkurat skulle begynne.
- time_starttransfer – tid, i sekunder, det tok fra starten til den første byten akkurat skulle overføres.
- time_total – total tid, i sekunder, som hele operasjonen varte (millisekunderoppløsning).
Hvis formatet er for langt, kan du skrive det i en fil og bruke syntaksen nedenfor for å lese det:
curl -s -w "@format.txt" -o /dev/null http://www.google.com
I kommandoen ovenfor, flagget:
-s
– forteller curl å fungere stille.-w
– skriv ut informasjonen på stdout.-o
– brukes til å omdirigere utdata (her forkaster vi utdataene ved å omdirigere det til /dev/null).
For HTTPS-nettsteder kan du kjøre kommandoen nedenfor:
curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon 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://www.google.com
I formatet ovenfor er de nye tidsvariablene:
- time_appconnect – tid, i sekunder, det tok fra starten til SSL-tilkoblingen/håndtrykket til den eksterne verten ble fullført.
- time_redirect – tid, i sekunder, det tok for alle omdirigeringstrinn, inkludert navneoppslag, tilkobling, forhåndsoverføring og overføring før den endelige transaksjonen ble startet; den beregner hele utførelsestiden for flere omdirigeringer.
Viktige punkter å merke seg.
- Du vil legge merke til at responstidsverdiene fortsetter å endre seg (på grunn av flere faktorer) mens du kjører forskjellige tester, derfor er det lurt å samle flere verdier og få en gjennomsnittshastighet.
- For det andre, fra resultatene av kommandoene ovenfor, kan du se at tilgang til et nettsted over HTTP er mye raskere enn over HTTPS.
For mer informasjon, se cURL-man-siden:
man curl
Sist men ikke minst, hvis resultatene ikke er tilfredsstillende, har du noen justeringer å gjøre på serveren din eller i koden. Du kan vurdere å bruke følgende opplæringsprogrammer som forklarer programmer og tips for å få nettsted(er) til å laste raskere i Linux:
- Installer Nginx med Ngx_Pagespeed (hastighetsoptimalisering) på Debian og Ubuntu
- Få fart på Nginx-ytelsen med Ngx_Pagespeed på CentOS 7
- Lær hvordan du får fart på nettsteder ved å bruke Nginx og Gzip-modulen
- Hvordan øke Internett-hastigheten til Linux-serveren med TCP BBR
Det er alt! Nå vet du hvordan du tester nettstedets responstid fra kommandolinjen. Du kan stille spørsmål via tilbakemeldingsskjemaet nedenfor.