Hvernig á að prófa hleðsluhraða vefsíðu í Linux flugstöðinni


Viðbragðstími vefsíðna getur haft mikil áhrif á upplifun notenda og ef þú ert vefhönnuður, eða einfaldlega netþjónsstjóri sem er sérstaklega ábyrgur fyrir því að skipuleggja hlutina saman, þá verðurðu að gera það að marki sem notendum finnst ekki svekktur þegar þú opnar síðuna þína - svo það er raunverulega þörf á hraða.

Þessi handbók mun sýna þér hvernig á að prófa viðbragðstíma vefsíðu frá Linux skipanalínunni. Hér munum við sýna hvernig á að athuga tímann í sekúndum, það tekur:

  • til að framkvæma nafnaupplausn.
  • fyrir TCP tengingu við netþjóninn.
  • til að skráaflutningur hefjist.
  • fyrir fyrsta bæti sem á að flytja.
  • fyrir alla aðgerðina.

Að auki, fyrir HTTPS-virkar síður, munum við einnig sjá hvernig á að prófa tímann, í sekúndum, sem það tekur: fyrir áframsendingu og SSL tengingu/handabandi við netþjóninn til að ljúka. Það hljómar vel, allt í lagi, við skulum byrja.

cURL er öflugt skipanalínuverkfæri til að flytja gögn frá eða til netþjóns með því að nota samskiptareglur eins og FILE, FTP, FTPS, HTTP, HTTPS og marga aðra. Í flestum tilfellum er það notað sem skipanalínuniðurhalari eða til að athuga HTTP hausa. Hins vegar, hér munum við lýsa einni af minna þekktum virkni þess.

cURL hefur gagnlegan valmöguleika: -w til að prenta upplýsingar um stdout eftir að aðgerð er lokið. Það hefur nokkrar breytur sem við getum notað til að prófa mismunandi viðbragðstíma sem taldir eru upp hér að ofan, á vefsíðu.

Við munum nota nokkrar af þeim tímatengdu breytum, sem hægt er að senda á tilteknu sniði sem bókstaflega streng eða inni í skrá.

Svo opnaðu flugstöðina þína og keyrðu skipunina hér að neðan:

$ 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

Breyturnar í ofangreindu sniði eru:

  • time_namelookup – tími, í sekúndum, sem leið frá upphafi þar til nafnaskilum var lokið.
  • time_connect – tími, í sekúndum, sem leið frá upphafi þar til TCP tengingunni við ytri hýsilinn (eða proxy) var lokið.
  • time_pretransfer – tími, í sekúndum, sem leið frá upphafi þar til skráaflutningur var rétt að hefjast.
  • time_starttransfer – tími, í sekúndum, það leið frá upphafi þar til fyrsta bæti var rétt að flytja.
  • time_total – heildartími, í sekúndum, sem öll aðgerðin stóð yfir (millisekúnduupplausn).

Ef sniðið er of langt geturðu skrifað það í skrá og notað setningafræðina hér að neðan til að lesa það:

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

Í ofangreindri skipun, fáninn:

  • -s – segir curl að vinna hljóðlaust.
  • -w – prentaðu upplýsingarnar á stdout.
  • -o – notað til að beina úttakinu (hér hentum við úttakinu með því að beina því á /dev/null).

Fyrir HTTPS síður geturðu keyrt skipunina hér að neðan:

$ 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

Í ofangreindu sniði eru nýju tímabreyturnar:

  • time_appconnect – tími, í sekúndum, sem leið frá upphafi þar til SSL tengingu/handabandi við ytri hýsilinn var lokið.
  • time_redirect – tími, í sekúndum, sem það tók fyrir öll tilvísunarskref, þar á meðal nafnleit, tengingu, forflutning og millifærslu áður en lokafærslan var hafin; það reiknar út allan framkvæmdartímann fyrir margar tilvísanir.

Mikilvæg atriði sem vert er að taka fram.

  • Þú munt taka eftir því að viðbragðstímagildin halda áfram að breytast (vegna nokkurra þátta) þegar þú keyrir mismunandi próf, þess vegna er ráðlegt að safna nokkrum gildum og fá meðalhraða.
  • Í öðru lagi, af niðurstöðum skipananna hér að ofan, geturðu séð að aðgangur að vefsíðu í gegnum HTTP er mun hraðari en yfir HTTPS.

Fyrir frekari upplýsingar, sjá cURL man síðuna:

$ man curl

Síðast en ekki síst, ef niðurstöður þínar eru ekki ánægjulegar, þá þarftu að gera nokkrar breytingar á netþjóninum þínum eða innan kóðans. Þú gætir íhugað að nota eftirfarandi kennsluefni sem útskýra forrit og ábendingar til að gera vefsíðu(r) hraðari í Linux:

  1. Settu upp Nginx með Ngx_Pagespeed (Hraðabestun) á Debian og Ubuntu
  2. Flýttu Nginx árangur með Ngx_Pagespeed á CentOS 7
  3. Lærðu hvernig á að flýta fyrir vefsíðum með því að nota Nginx og Gzip einingu
  4. Hvernig á að auka nethraða Linux netþjóns með TCP BBR

Það er allt og sumt! Nú veistu hvernig á að prófa viðbragðstíma vefsíðu frá skipanalínunni. Þú getur spurt spurninga í gegnum athugasemdareyðublaðið hér að neðan.