Kā pārbaudīt vietnes ielādes ātrumu Linux terminālā


Vietnes atbildes laiks var ļoti ietekmēt lietotāju pieredzi, un, ja jūs esat tīmekļa izstrādātājs vai vienkārši servera administrators, kurš ir īpaši atbildīgs par kopīgo darbu organizēšanu, jums tas ir jāpadara par punktu, ko lietotāji nejūt neapmierināts, piekļūstot jūsu vietnei, tāpēc patiešām ir nepieciešama ātruma nepieciešamība.

Šī rokasgrāmata parādīs, kā pārbaudīt vietnes reakcijas laiku no Linux komandrindas. Šeit mēs parādīsim, kā sekundēs pārbaudīt laiku:

  • lai veiktu nosaukuma izšķiršanu.
  • TCP savienojumam ar serveri.
  • lai sāktu failu pārsūtīšanu.
  • lai pirmais baits tiktu pārsūtīts.
  • pilnīgai darbībai.

Turklāt vietnēm, kurās iespējota HTTPS, mēs redzēsim arī to, kā sekundēs pārbaudīt laiku: lai novirzīšana un SSL savienojuma/rokasspiediena pabeigšana uz serveri tiktu pabeigta. Tas izklausās labi, labi, sāksim.

cURL ir spēcīgs komandrindas rīks datu pārsūtīšanai no vai uz serveri, izmantojot tādus protokolus kā FILE, FTP, FTPS, HTTP, HTTPS un daudzus citus. Vairumā gadījumu to izmanto kā komandrindas lejupielādētāju vai HTTP galvenes pārbaudi. Tomēr šeit mēs aprakstīsim vienu no tā mazāk pazīstamajām funkcijām.

cURL ir noderīga opcija: -w informācijas drukāšanai uz stdout pēc pabeigtas darbības. Tam ir daži mainīgie, kurus mēs varam izmantot, lai pārbaudītu dažādus iepriekš norādītos vietnes reakcijas laikus.

Mēs izmantosim dažus ar laiku saistītos mainīgos, kurus noteiktā formātā var nodot kā burtisku virkni vai faila iekšpusē.

Tātad atveriet termināli un palaidiet zemāk esošo komandu:

$ 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

Mainīgie lielumi iepriekšminētajā formātā ir:

  • time_namelookup - laiks sekundēs, kas pagāja no sākuma līdz vārda noteikšanas pabeigšanai.
  • time_connect - laiks sekundēs, kas pagāja no sākuma, līdz TCP savienojums ar attālo resursdatoru (vai starpniekserveri) tika pabeigts.
  • time_pretransfer - laiks sekundēs, kas pagāja no sākuma, līdz faila pārsūtīšana tikko sākās.
  • time_starttransfer - laiks sekundēs, kas pagāja no sākuma, līdz pirmais baits tikko tika nodots.
  • time_total - kopējais laiks sekundēs, kas ilga pilnu darbību (milisekunžu izšķirtspēja).

Ja formāts ir pārāk garš, varat to ierakstīt failā un izmantot zemāk esošo sintaksi, lai to izlasītu:

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

Iepriekš minētajā komandā karodziņš:

  • -s - liek čokurošanās darbam klusi.
  • -w - izdrukājiet informāciju stdout.
  • -o - tiek izmantots, lai novirzītu izvadi (šeit mēs izmetam izvadi, novirzot to uz/dev/null).

HTTPS vietnēs varat izpildīt tālāk norādīto komandu:

$ 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

Iepriekš minētajā formātā jaunie laika mainīgie ir:

  • time_appconnect - laiks sekundēs, kas pagāja no sākuma, līdz tika pabeigts SSL savienojums/rokasspiediens ar attālo resursdatoru.
  • time_redirect - laiks sekundēs, kas pagājis visām novirzīšanas darbībām, ieskaitot nosaukuma meklēšanu, savienošanu, iepriekšēju pārsūtīšanu un pārsūtīšanu, pirms tika sākts pēdējais darījums; tas aprēķina pilnu izpildes laiku vairākām novirzīšanai.

Jāatzīmē svarīgi punkti.

  • Jūs ievērosiet, ka, veicot dažādus testus, reakcijas laika vērtības nemainās (vairāku faktoru dēļ), tāpēc ieteicams apkopot vairākas vērtības un iegūt vidējo ātrumu.
  • Otrkārt, no iepriekš minēto komandu rezultātiem var redzēt, ka piekļuve vietnei, izmantojot HTTP, ir daudz ātrāka nekā izmantojot HTTPS.

Lai iegūtu papildinformāciju, skatiet CURL rokasgrāmatas lapu:

$ man curl

Visbeidzot, ja jūsu rezultāti nav iepriecinoši, tad serverī vai kodā ir jāveic dažas korekcijas. Apsveriet iespēju izmantot šādas apmācības, kas izskaidro programmas un padomus, kā vietni (-es) ātrāk ielādēt Linux:

  1. Debianā un Ubuntu instalējiet Nginx ar Ngx_Pagespeed (ātruma optimizācija)
  2. Paātriniet Nginx veiktspēju, izmantojot Ngx_Pagespeed, izmantojot CentOS 7
  3. Uzziniet, kā paātrināt vietņu darbību, izmantojot Nginx un Gzip moduli
  4. Kā palielināt Linux servera interneta ātrumu, izmantojot TCP BBR

Tas ir viss! Tagad jūs zināt, kā pārbaudīt vietnes reakcijas laiku no komandrindas. Jūs varat uzdot jautājumus, izmantojot zemāk esošo atsauksmju veidlapu.