Kako testirati brzinu učitavanja web stranice u Linux terminalu


Vrijeme odgovora web-mjesta može imati veliki utjecaj na korisničko iskustvo, a ako ste web programer ili jednostavno administrator poslužitelja koji je posebno odgovoran za organiziranje dijelova zajedno, morate se potruditi da korisnici ne osjete frustrirani dok pristupate vašoj web-lokaciji – tako da stvarno postoji “potreba za brzinom”.

Pročitajte također: httpstat – Alat za statistiku Curl za provjeru izvedbe web stranice

Ovaj će vam vodič pokazati kako testirati vrijeme odgovora web stranice iz naredbenog retka Linuxa. Ovdje ćemo pokazati kako provjeriti vrijeme u sekundama, potrebno je:

  • izvršiti razrješenje imena.
  • za TCP vezu s poslužiteljem.
  • za početak prijenosa datoteke.
  • za prvi bajt koji se prenosi.
  • za kompletnu operaciju.

Dodatno, za stranice s omogućenim HTTPS-om, također ćemo vidjeti kako testirati vrijeme, u sekundama, koje je potrebno: za dovršetak preusmjeravanja i SSL veze/rukovanja s poslužiteljem. Zvuči dobro, u redu, počnimo.

cURL je moćan alat naredbenog retka za prijenos podataka sa ili na poslužitelj, koristeći protokole kao što su FILE, FTP, FTPS, HTTP, HTTPS i mnogi drugi. U većini slučajeva koristi se kao program za preuzimanje naredbenog retka ili za provjeru HTTP zaglavlja. Međutim, ovdje ćemo opisati jednu od njegovih manje poznatih funkcionalnosti.

cURL ima korisnu opciju: -w za ispis informacija na stdout nakon dovršene operacije. Ima neke varijable koje možemo koristiti za testiranje različitih gore navedenih vremena odgovora web stranice.

Koristit ćemo neke od varijabli povezanih s vremenom, koje se mogu proslijediti u zadanom formatu kao literalni niz ili unutar datoteke.

Dakle, otvorite svoj terminal i pokrenite naredbu ispod:

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

Varijable u gornjem formatu su:

  • time_namelookup – vrijeme u sekundama koje je bilo potrebno od početka do završetka rješavanja imena.
  • time_connect – vrijeme, u sekundama, potrebno od početka do završetka TCP povezivanja s udaljenim hostom (ili proxyjem).
  • time_pretransfer – vrijeme, u sekundama, potrebno od početka do trenutka kada je prijenos datoteke trebao započeti.
  • time_starttransfer – vrijeme, u sekundama, potrebno od početka do trenutka kada je prvi bajt bio pred prijenosom.
  • time_total – ukupno vrijeme, u sekundama, koje je trajala puna operacija (rezolucija u milisekundi).

Ako je format predugačak, možete ga napisati u datoteku i upotrijebiti donju sintaksu za čitanje:

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

U gornjoj naredbi, zastavica:

  • -s – govori curlu da radi tiho.
  • -w – ispis informacija na stdout.
  • -o – koristi se za preusmjeravanje izlaza (ovdje odbacujemo izlaz preusmjeravanjem na /dev/null).

Za HTTPS stranice možete pokrenuti naredbu u nastavku:

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

U gornjem formatu, nove vremenske varijable su:

  • time_appconnect – vrijeme u sekundama koje je bilo potrebno od početka do završetka SSL povezivanja/rukovanja s udaljenim hostom.
  • time_redirect – vrijeme, u sekundama, koje je bilo potrebno za sve korake preusmjeravanja uključujući traženje imena, povezivanje, predprijenos i prijenos prije početka konačne transakcije; izračunava puno vrijeme izvršenja za višestruka preusmjeravanja.

Važne točke koje treba napomenuti.

  • Primijetit ćete da se vrijednosti vremena odgovora stalno mijenjaju (zbog nekoliko čimbenika) kako izvodite različite testove, stoga je preporučljivo prikupiti nekoliko vrijednosti i dobiti prosječnu brzinu.
  • Drugo, iz rezultata gornjih naredbi možete vidjeti da je pristup web stranici putem HTTP-a puno brži nego putem HTTPS-a.

Za više informacija pogledajte cURL stranicu priručnika:

man curl

Posljednje, ali ne manje važno, ako vaši rezultati nisu zadovoljni, morate napraviti neke prilagodbe na svom poslužitelju ili unutar koda. Možete razmisliti o korištenju sljedećih vodiča koji objašnjavaju programe i savjete za brže učitavanje web stranica u Linuxu:

  1. Instalirajte Nginx s Ngx_Pagespeed (Optimizacija brzine) na Debian i Ubuntu
  2. Ubrzajte performanse Nginxa s Ngx_Pagespeed na CentOS 7
  3. Naučite kako ubrzati web stranice koristeći Nginx i Gzip modul
  4. Kako povećati brzinu interneta na Linux poslužitelju s TCP BBR-om

To je sve! Sada znate kako testirati vrijeme odgovora web stranice iz naredbenog retka. Pitanja možete postavljati putem obrasca za povratne informacije u nastavku.