Si të testoni shpejtësinë e ngarkimit të faqes në internet në terminalin Linux


Koha e përgjigjes së faqes në internet mund të ketë një ndikim të madh në përvojën e përdoruesit, dhe nëse jeni një zhvillues ueb, ose thjesht një administrator serveri i cili është veçanërisht përgjegjës për organizimin e pjesëve së bashku, atëherë duhet ta bëni atë një pikë që përdoruesit nuk e ndiejnë. i frustruar gjatë hyrjes në faqen tuaj – kështu që ka vërtet \nevojë për shpejtësi.

Ky udhëzues do t'ju tregojë se si të testoni kohën e përgjigjes së faqes në internet nga linja e komandës Linux. Këtu, ne do të tregojmë se si të kontrolloni kohën në sekonda, që kërkon:

  • për të kryer zgjidhjen e emrit.
  • për lidhjen TCP me serverin.
  • që të fillojë transferimi i skedarit.
  • për bajtin e parë që do të transferohet.
  • për operacionin e plotë.

Për më tepër, për faqet e aktivizuara me HTTPS, do të shohim gjithashtu se si të testojmë kohën, në sekonda, që duhet: për të përfunduar një ridrejtim dhe lidhje SSL/shtrëngim duarsh me serverin. Tingëllon mirë, mirë, le të fillojmë.

cURL është një mjet i fuqishëm i linjës komanduese për të transferuar të dhëna nga ose në një server, duke përdorur protokolle si FILE, FTP, FTPS, HTTP, HTTPS dhe shumë të tjerë. Në shumicën e rasteve, përdoret si një shkarkues i linjës së komandës ose për të kontrolluar titujt e HTTP. Sidoqoftë, këtu, ne do të përshkruajmë një nga funksionalitetet e tij më pak të njohura.

cURL ka një opsion të dobishëm: -w për printimin e informacionit në stdout pas një operacioni të përfunduar. Ka disa variabla që mund t'i përdorim për të testuar kohët e ndryshme të përgjigjes të listuara më sipër, të një faqe interneti.

Ne do të përdorim disa nga variablat e lidhura me kohën, të cilat mund të kalohen në një format të caktuar si varg literal ose brenda një skedari.

Pra, hapni terminalin tuaj dhe ekzekutoni komandën më poshtë:

$ 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

Variablat në formatin e mësipërm janë:

  • time_namelookup – koha, në sekonda, u desh që nga fillimi derisa të përfundonte zgjidhja e emrit.
  • time_connect – koha, në sekonda, u desh që nga fillimi derisa të përfundonte lidhja TCP me hostin (ose përfaqësuesin) në distancë.
  • time_pretransfer – koha, në sekonda, u desh që nga fillimi derisa transferimi i skedarit ishte gati të fillonte.
  • time_starttransfer – koha, në sekonda, u desh që nga fillimi derisa bajt i parë ishte gati për t'u transferuar.
  • time_total – koha totale, në sekonda, që zgjati operacioni i plotë (rezolucion milisekonda).

Nëse formati është shumë i gjatë, mund ta shkruani në një skedar dhe të përdorni sintaksën e mëposhtme për ta lexuar:

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

Në komandën e mësipërme, flamuri:

  • -s – i thotë curl të punojë në heshtje.
  • -w – printoni informacionin në stdout.
  • -o – përdoret për të ridrejtuar daljen (këtu e hedhim poshtë daljen duke e ridrejtuar te /dev/null).

Për faqet HTTPS, mund të ekzekutoni komandën më poshtë:

$ 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

Në formatin e mësipërm, variablat e rinj të kohës janë:

  • time_appconnect – koha, në sekonda, u desh që nga fillimi derisa të përfundonte lidhja/shtrëngimi i duarve SSL me hostin në distancë.
  • time_redirect – koha, në sekonda, u desh për të gjithë hapat e ridrejtimit duke përfshirë kërkimin e emrit, lidhjen, transferimin paraprak dhe transferimin përpara se të fillonte transaksioni përfundimtar; ai llogarit kohën e plotë të ekzekutimit për ridrejtime të shumta.

Pika të rëndësishme për t'u theksuar.

  • Do të vini re se vlerat e kohës së përgjigjes vazhdojnë të ndryshojnë (për shkak të disa faktorëve) ndërsa kryeni teste të ndryshme, prandaj këshillohet të mblidhni disa vlera dhe të merrni një shpejtësi mesatare.
  • Së dyti, nga rezultatet e komandave të mësipërme, mund të shihni se qasja në një faqe interneti përmes HTTP është shumë më e shpejtë se sa përmes HTTPS.

Për më shumë informacion, shihni faqen e njeriut të cURL:

$ man curl

E fundit, por jo më pak e rëndësishme, nëse rezultatet tuaja nuk janë të këndshme, atëherë keni disa rregullime për të bërë në serverin tuaj ose brenda kodit. Ju mund të konsideroni përdorimin e udhëzimeve të mëposhtme që shpjegojnë programet dhe këshillat për ta bërë uebsajtin(et) të ngarkohen më shpejt në Linux:

  1. Instaloni Nginx me Ngx_Pagespeed (Optimizimi i shpejtësisë) në Debian dhe Ubuntu
  2. Përshpejtoni performancën e Nginx me Ngx_Pagespeed në CentOS 7
  3. Mësoni si të shpejtoni faqet e internetit duke përdorur modulin Nginx dhe Gzip
  4. Si të rrisni shpejtësinë e internetit të serverit Linux me TCP BBR

Kjo eshte e gjitha! Tani ju e dini se si të testoni kohën e përgjigjes së faqes në internet nga vija e komandës. Ju mund të bëni pyetje përmes formularit të komenteve më poshtë.