Weboldal keresés

Hogyan teszteljük a webhely betöltési sebességét a Linux terminálon


A webhely válaszideje nagymértékben befolyásolhatja a felhasználói élményt, és ha Ön webfejlesztő vagy egyszerűen szerveradminisztrátor, aki különösen felelős a darabok összerendezéséért, akkor ezt olyan pontra kell helyeznie, amit a felhasználók nem éreznek. frusztrált volt a webhely elérése közben – tehát valóban „need for speed” van.

Olvassa el még: httpsstat – A görbületi statisztikai eszköz a webhely teljesítményének ellenőrzésére

Ez az útmutató bemutatja, hogyan tesztelheti a webhely válaszidejét a Linux parancssorból. Itt megmutatjuk, hogyan kell ellenőrizni az időt másodpercben, ez a következő:

  • névfeloldás végrehajtására.
  • a szerverhez való TCP kapcsolathoz.
  • a fájlátvitel megkezdéséhez.
  • az első átvinni kívánt bájthoz.
  • a teljes működéshez.

Ezenkívül a HTTPS-kompatibilis webhelyek esetében azt is látni fogjuk, hogyan tesztelhetjük le az időt, másodpercben, ami szükséges: az átirányításhoz és az SSL-kapcsolathoz/kézfogáshoz a szerverhez. Jól hangzik, oké, kezdjük.

A cURL egy hatékony parancssori eszköz adatok átviteléhez a szerverről vagy a szerverre olyan protokollok használatával, mint a FILE, FTP, FTPS, HTTP, HTTPS és sok más protokoll. A legtöbb esetben parancssori letöltőként vagy HTTP-fejlécek ellenőrzésére használják. Itt azonban leírjuk az egyik kevésbé ismert funkcióját.

A cURL egy hasznos opcióval rendelkezik: -w az adatok kinyomtatásához az stdout-on a művelet befejezése után. Van néhány változója, amelyek segítségével tesztelhetjük a webhely fent felsorolt különböző válaszidejét.

Az időhöz kapcsolódó változók egy részét fogjuk használni, amelyeket adott formátumban literális karakterláncként vagy fájlon belül adhatunk át.

Tehát nyissa meg a terminált, és futtassa az alábbi parancsot:

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

A fenti formátumban a változók a következők:

  • time_namelookup – idő, másodpercben, az elejétől a névfeloldás befejezéséig.
  • time_connect – másodpercben kifejezett idő, amely az elejétől a távoli gazdagéphez (vagy proxyhoz) való TCP-csatlakozás befejezéséig telt el.
  • time_pretransfer – másodpercben kifejezett idő, amely eltelt a kezdettől a fájlátvitel megkezdéséig.
  • time_starttransfer – idő, másodpercben, az elejétől az első bájt átviteléig tartott.
  • time_total – a teljes művelet időtartama másodpercben (ezredmásodperces felbontás).

Ha a formátum túl hosszú, akkor beírhatja egy fájlba, és az alábbi szintaxis segítségével elolvashatja:

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

A fenti parancsban a zászló:

  • -s – megmondja, hogy a curl csendesen működjön.
  • -w – az adatok kinyomtatása az stdout-on.
  • -o – a kimenet átirányítására szolgál (itt a kimenetet eldobjuk úgy, hogy átirányítjuk a /dev/null helyre).

HTTPS-webhelyek esetén az alábbi parancsot futtathatja:

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

A fenti formátumban az új időváltozók a következők:

  • time_appconnect – másodpercben kifejezett idő, amely az elejétől az SSL-csatlakozás/kézfogás befejezéséig tartott a távoli gazdagéphez.
  • time_redirect – idő, másodpercben, amely az összes átirányítási lépéshez szükséges, beleértve a névkeresést, a csatlakozást, az előzetes átvitelt és az átvitelt a végső tranzakció megkezdése előtt; több átirányítás teljes végrehajtási idejét számítja ki.

Fontos tudnivalók.

  • Észreveheti, hogy a válaszidő értékek folyamatosan változnak (több tényező miatt) a különböző tesztek futtatása során, ezért célszerű több értéket gyűjteni és átlagsebességet kapni.
  • Másodszor, a fenti parancsok eredményeiből láthatja, hogy a webhely HTTP-n keresztüli elérése sokkal gyorsabb, mint HTTPS-en keresztül.

További információkért lásd a cURL kézikönyvoldalát:

man curl

Végül, de nem utolsósorban, ha az eredmények nem tetszenek, akkor néhány módosítást kell végrehajtania a szerveren vagy a kódon belül. Fontolja meg a következő oktatóanyagok használatát, amelyek elmagyarázzák a programokat és tippeket a webhely(ek) gyorsabb betöltéséhez Linux alatt:

  1. Telepítse az Nginxet az Ngx_Pagespeed-del (Speed Optimization) Debian és Ubuntu rendszeren
  2. Gyorsítsa fel az Nginx teljesítményét az Ngx_Pagespeed segítségével a CentOS 7 rendszeren
  3. Ismerje meg, hogyan gyorsíthatja fel a webhelyeket az Nginx és a Gzip modul használatával
  4. Hogyan lehet növelni a Linux szerver internetsebességét a TCP BBR segítségével

Ez minden! Most már tudja, hogyan tesztelheti a webhely válaszidejét a parancssorból. Kérdéseit az alábbi visszajelzési űrlapon teheti fel.