Tesztelő webszerverek betöltése a Siege Benchmarking eszközzel
Annak ismerete, hogy webszervere mekkora forgalmat képes kezelni stresszhelyzetben, elengedhetetlen a webhely vagy az alkalmazás jövőbeli növekedésének megtervezéséhez. Az ostrom nevű eszköz használatával terhelési tesztet futtathat a szerveren, és megnézheti, hogyan teljesít a rendszer különböző körülmények között.
Az ostrom segítségével kiértékelheti az átvitt adatmennyiséget, a válaszidőt, a tranzakciós sebességet, az átviteli sebességet, az egyidejűséget és azt, hogy a szerver hányszor adott válaszokat. Az eszköznek három üzemmódja van, amelyekben működhet – regresszió, internetes szimuláció és nyers erő.
Fontos: Az Siege-t csak az Ön tulajdonában lévő szervereken szabad futtatni, vagy olyan szervereken futhat, amelyeken kifejezetten engedélye van a tesztelésre. Egyes országokban az ostrom használata jogosulatlan webhelyeken bűncselekménynek minősül.
Siege HTTP Load Testing Utility telepítése Linux alatt
A Siege többplatformos, és a következő parancsok használatával telepíthető Ubuntu/Debian és CentOS/RHEL disztribúciók alá.
A Siege telepítéséhez a Debin/Ubuntu alatt futtassa a következőket:
sudo apt install siege
A CentOS/RHEL esetén telepítenie kell és engedélyeznie kell az adattárat az ostrom telepítéséhez a következőkkel:
yum install epel-release
yum install siege
Alternatív megoldásként megépítheti az ostromot a forrásból. Ehhez telepítenie kell a build-essential és a fejlesztői csomagokat.
sudo apt install build-essential #Ubuntu/Debian
yum groupinstall 'Development Tools' #CentOS/RHEL
Ezután letöltheti a Siege-t a wget paranccsal, és az ábrán látható módon telepítheti a forrásokból.
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install
Siege HTTP Load Testing Utility konfigurálása Linux alatt
Miután befejezte a telepítést, módosíthatja az ostrom konfigurációs fájlt. Az /etc/siege/siegerc könyvtárban található. Abban az esetben, ha úgy döntött, hogy forrásból építi fel a csomagot, akkor a következőt kell futtatnia:
sudo siege.config
Ez létrehozza a siege.conf fájlt, amely a felhasználó otthoni ~/.siege/siege.conf fájljában található.
A fájl tartalmának valahogy így kell kinéznie. Vegye figyelembe, hogy a logfile és az time direktívák megjegyzését törölni tudom:
cat siegerc |egrep -v "^$|#"
Minta kimenet
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true
A jelenlegi konfigurációval az ostrom 25 egyidejű felhasználót imitál 1 percen keresztül.
Most készen állsz az ostrom lefuttatására.
Webhely betöltésének tesztelése Siege Benchmarking Utility segítségével
Az ostrom futtatása meglehetősen egyszerű, csak meg kell adnia a tesztelni kívánt webhelyet, így:
siege example.com
Ha a rendelkezésre állás továbbra is 100% marad, és nincsenek meghibásodott kapcsolatok, akkor a rendszer jól működött, és nem volt probléma. Figyelnie kell a válaszidőt is.
Futtasson Siege-et több webhely ellen
Több URL-t is tesztelhet úgy, hogy beállítja az ostrom beállítást a fájlból való olvasáshoz. Az URL-eket a következőképpen írhatja le a /usr/local/etc/urls.txt fájlban:
Most, hogy az ostrom-nak utasítsa a fájl URL-címeinek tesztelését, használja a -f
kapcsolót a következő módon:
siege -f /usr/local/etc/urls.txt
A parancssori opciókat is használhatja, ha a konfigurációs fájlban leírtaktól eltérő beállításokat szeretne kipróbálni.
-C
– adja meg a saját konfigurációs fájlját.-q
– elnyomja az ostrom kimenetét.-g
– GET, húzza le a HTTP-fejléceket, és jelenítse meg a tranzakciót. Hasznos hibakereséshez.-c
– az egyidejű felhasználók száma, alapértelmezés szerint 10.-r
– hányszor kell futtatni a tesztet.-t
– mennyi idő a teszt futtatásához. Megadhat S, M vagy H értéket, például: –time=10S 10 másodpercig.-d
– véletlenszerű késleltetés minden kérés előtt.-b
– nincs késés a kérések között.-i
– felhasználói szimuláció. Véletlenszerű URL-ek eltalálására szolgál.-f
– URL-ek tesztelése a megadott fájlból.-l
– naplófájl.-H
– fejléc hozzáadása a kéréshez.-A
– felhasználói ügynök megadása.-T
– Beállítja a tartalomtípust a kérésben.--no-parser
– NO PARSER, kapcsolja ki a HTML-oldalelemzőt.--no-follow
– ne kövesse a HTTP-átirányításokat.
Következtetés
Az Siege egy hatékony eszköz a rendszer megbízhatóságának mérésére nagy terhelés alatt. A webfejlesztők használhatják kódjuk tesztelésére, amikor a webhely kényszer alatt áll. Mindig óvatosan futtasson teszteket, mivel a tesztelt szerver elérhetetlenné válhat a kiértékelés során.