Kako preizkusiti hitrost nalaganja spletnega mesta v terminalu Linux


Odzivni čas spletnega mesta ima lahko velik vpliv na uporabniško izkušnjo, in če ste spletni razvijalec ali preprosto skrbnik strežnika, ki je še posebej odgovoren za združevanje kosov, morate to poudariti, da uporabniki ne čutijo razočaran pri dostopu do vašega spletnega mesta - zato je res\"potreba po hitrosti".

Ta priročnik vam bo pokazal, kako preizkusite odzivni čas spletnega mesta iz ukazne vrstice Linuxa. Tukaj bomo pokazali, kako preveriti čas v sekundah, kar traja:

  • za izvajanje ločitve imen.
  • za povezavo TCP s strežnikom.
  • za začetek prenosa datotek.
  • za prenos prvega bajta.
  • za celotno operacijo.

Poleg tega bomo za spletna mesta, ki podpirajo HTTPS, videli tudi, kako v nekaj sekundah preizkusimo čas: za preusmeritev in povezavo SSL/rokovanje s strežnikom do strežnika. Sliši se dobro, v redu, začnimo.

cURL je močno orodje ukazne vrstice za prenos podatkov iz ali na strežnik z uporabo protokolov, kot so FILE, FTP, FTPS, HTTP, HTTPS in mnogi drugi. V večini primerov se uporablja kot prenosnik ukazne vrstice ali za preverjanje naslovov HTTP. Tu pa bomo opisali eno od njegovih manj znanih funkcionalnosti.

cURL ima uporabno možnost: -w za tiskanje informacij na stdout po končani operaciji. Ima nekaj spremenljivk, s katerimi lahko preizkusimo različne zgoraj navedene odzivne čase spletnega mesta.

Uporabili bomo nekatere spremenljivke, povezane s časom, ki jih je mogoče v določeni obliki poslati kot dobesedni niz ali znotraj datoteke.

Zato odprite svoj terminal in zaženite spodnji ukaz:

$ 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

Spremenljivke v zgornji obliki so:

  • time_namelookup - čas v sekundah, ki je trajal od začetka, dokler se reševanje imena ni končalo.
  • time_connect - čas v sekundah, ki je trajal od začetka, dokler se povezava TCP z oddaljenim gostiteljem (ali proxyjem) ni zaključila.
  • time_pretransfer - čas v sekundah, ki je trajal od začetka, dokler se prenos datotek pravkar ni začel.
  • time_starttransfer - čas v sekundah, ki je trajal od začetka, dokler se prvi bajt pravkar ni prenesel.
  • time_total - skupni čas, v sekundah, da je celotna operacija trajala (ločljivost v milisekundah).

Če je oblika predolga, jo lahko zapišete v datoteko in jo preberete s spodnjo skladnjo:

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

V zgornjem ukazu zastava:

  • -s -pove curlu, da deluje tiho.
  • -w -natisnite podatke na stdout.
  • -o -uporablja se za preusmeritev izhoda (tukaj zavržemo izhod tako, da ga preusmerimo na/dev/null).

Za spletna mesta HTTPS lahko zaženete spodnji ukaz:

$ 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

V zgornji obliki so nove časovne spremenljivke:

  • time_appconnect - čas v sekundah, ki je trajal od začetka, dokler se povezava SSL/rokovanje z oddaljenim gostiteljem ni zaključila.
  • time_redirect - čas v sekundah, potreben za vse korake preusmeritve, vključno z iskanjem imena, povezovanjem, predprenosom in prenosom, preden se je začela končna transakcija; izračuna celoten čas izvajanja za več preusmeritev.

Pomembne točke je treba opozoriti.

  • Opazili boste, da se vrednosti odzivnega časa med izvajanjem različnih preskusov nenehno spreminjajo (zaradi več dejavnikov), zato je priporočljivo zbrati več vrednosti in doseči povprečno hitrost.
  • Drugič, iz rezultatov zgornjih ukazov je razvidno, da je dostop do spletnega mesta prek HTTP veliko hitrejši kot prek HTTPS.

Za več informacij si oglejte man stran cURL:

$ man curl

Nenazadnje, če vaši rezultati niso prijetni, morate na strežniku ali v kodi narediti nekaj prilagoditev. Razmislite o naslednjih vajah, ki pojasnjujejo programe in nasvete za hitrejše nalaganje spletnih mest v Linuxu:

  1. Namestite Nginx z Ngx_Pagespeed (optimizacija hitrosti) v Debian in Ubuntu
  2. Pospešite delovanje Nginxa z Ngx_Pagespeed na CentOS 7
  3. Naučite se pospešiti spletna mesta z modulom Nginx in Gzip
  4. Kako povečati internetno hitrost strežnika Linux s TCP BBR

To je vse! Zdaj veste, kako iz ukazne vrstice preizkusiti odzivni čas spletnega mesta. Vprašanja lahko postavite preko spodnjega obrazca za povratne informacije.