Zoeken op website

Hoe u de laadsnelheid van websites in Linux Terminal kunt testen


De responstijd van een website kan een grote invloed hebben op de gebruikerservaring, en als u een webontwikkelaar bent, of gewoon een serverbeheerder die vooral verantwoordelijk is voor het organiseren van de onderdelen, dan moet u er een punt van maken dat gebruikers dit niet voelen. gefrustreerd tijdens het bezoeken van uw site – dus er is echt “behoefte aan snelheid”.

Lees ook: httpstat – Een tool voor krulstatistieken om de prestaties van websites te controleren

Deze handleiding laat zien hoe u de responstijd van een website kunt testen vanaf de Linux-opdrachtregel. Hier laten we zien hoe u de tijd in seconden kunt controleren, dit duurt:

  • om naamomzetting uit te voeren.
  • voor TCP-verbinding met de server.
  • zodat de bestandsoverdracht kan beginnen.
  • voor de eerste byte die moet worden overgedragen.
  • voor de volledige operatie.

Bovendien zullen we voor HTTPS-compatibele sites ook zien hoe we de tijd, in seconden, kunnen testen die nodig is: voordat een omleiding en een SSL-verbinding/handshake met de server zijn voltooid. Het klinkt goed, oké, laten we beginnen.

cURL is een krachtige opdrachtregeltool om gegevens van of naar een server over te dragen, met behulp van protocollen zoals FILE, FTP, FTPS, HTTP, HTTPS en vele andere. In de meeste gevallen wordt het gebruikt als opdrachtregeldownloader of voor het controleren van HTTP-headers. Hier zullen we echter een van de minder bekende functionaliteiten beschrijven.

cURL heeft een handige optie: -w voor het afdrukken van informatie op stdout na een voltooide bewerking. Het heeft een aantal variabelen die we kunnen gebruiken om de verschillende hierboven genoemde responstijden van een website te testen.

We zullen enkele van de tijdgerelateerde variabelen gebruiken, die in een bepaald formaat kunnen worden doorgegeven als een letterlijke tekenreeks of in een bestand.

Open dus uw terminal en voer de onderstaande opdracht uit:

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

De variabelen in het bovenstaande formaat zijn:

  • time_namelookup – de tijd, in seconden, die nodig was vanaf het begin tot het omzetten van de naam was voltooid.
  • time_connect – de tijd, in seconden, die nodig was vanaf het begin tot de TCP-verbinding met de externe host (of proxy) was voltooid.
  • time_pretransfer – de tijd, in seconden, die nodig was vanaf het begin tot de bestandsoverdracht op het punt stond te beginnen.
  • time_starttransfer – de tijd, in seconden, die nodig was vanaf het begin tot de eerste byte op het punt stond te worden overgedragen.
  • time_total – totale tijd, in seconden, dat de volledige bewerking duurde (resolutie in milliseconden).

Als het formaat te lang is, kunt u het in een bestand schrijven en de onderstaande syntaxis gebruiken om het te lezen:

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

In het bovenstaande commando, de vlag:

  • -s – vertelt curl om stil te werken.
  • -w – druk de informatie op stdout af.
  • -o – gebruikt om uitvoer om te leiden (hier negeren we de uitvoer door deze om te leiden naar /dev/null).

Voor HTTPS-sites kunt u de onderstaande opdracht uitvoeren:

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

In het bovenstaande formaat zijn de nieuwe tijdvariabelen:

  • time_appconnect – de tijd, in seconden, die nodig was vanaf het begin tot de SSL-verbinding/handshake met de externe host was voltooid.
  • time_redirect – de tijd, in seconden, die nodig was voor alle omleidingsstappen, inclusief het opzoeken van namen, verbinden, vooraf overdragen en overdragen voordat de laatste transactie werd gestart; het berekent de volledige uitvoeringstijd voor meerdere omleidingen.

Belangrijke punten om op te merken.

  • U zult merken dat de responstijdwaarden blijven veranderen (vanwege verschillende factoren) naarmate u verschillende tests uitvoert. Daarom is het raadzaam om verschillende waarden te verzamelen en een gemiddelde snelheid te verkrijgen.
  • Ten tweede kun je uit de resultaten van de bovenstaande opdrachten zien dat toegang tot een website via HTTP veel sneller gaat dan via HTTPS.

Voor meer informatie, zie de cURL-manpagina:

man curl

Last but not least: als uw resultaten niet bevredigend zijn, moet u enkele aanpassingen maken op uw server of in de code. U kunt overwegen de volgende tutorials te gebruiken waarin programma's en tips worden uitgelegd om website(s) sneller te laten laden in Linux:

  1. Installeer Nginx met Ngx_Pagespeed (snelheidsoptimalisatie) op Debian en Ubuntu
  2. Versnel de Nginx-prestaties met Ngx_Pagespeed op CentOS 7
  3. Leer hoe u websites kunt versnellen met behulp van de Nginx- en Gzip-module
  4. Hoe u de internetsnelheid van Linux Server kunt verhogen met TCP BBR

Dat is alles! Nu weet u hoe u de responstijd van een website kunt testen vanaf de opdrachtregel. Vragen kunt u stellen via het onderstaande feedbackformulier.