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:
- Telepítse az Nginxet az Ngx_Pagespeed-del (Speed Optimization) Debian és Ubuntu rendszeren
- Gyorsítsa fel az Nginx teljesítményét az Ngx_Pagespeed segítségével a CentOS 7 rendszeren
- Ismerje meg, hogyan gyorsíthatja fel a webhelyeket az Nginx és a Gzip modul használatával
- 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.