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:
- Instalirajte Nginx s Ngx_Pagespeed (Optimizacija brzine) na Debian i Ubuntu
- Ubrzajte performanse Nginxa s Ngx_Pagespeed na CentOS 7
- Naučite kako ubrzati web stranice koristeći Nginx i Gzip modul
- 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.