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:

  1. Installer Nginx med Ngx_Pagespeed (hastighetsoptimalisering) på Debian og Ubuntu
  2. Få fart på Nginx-ytelsen med Ngx_Pagespeed på CentOS 7
  3. Lær hvordan du får fart på nettsteder ved å bruke Nginx og Gzip-modulen
  4. 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.