Web serveri za testiranje opterećenja sa Siege Benchmarking alatom
Znati koliko prometa vaš web server može podnijeti kada je pod stresom ključno je za planiranje budućeg rasta vaše web stranice ili aplikacije. Koristeći alat pod nazivom siege, možete pokrenuti test opterećenja na vašem serveru i vidjeti kako vaš sistem radi u različitim okolnostima.
Možete koristiti siege za procjenu količine prenesenih podataka, vremena odgovora, brzine transakcije, protoka, istodobnosti i koliko puta je server vratio odgovore. Alat ima tri načina rada u kojima može raditi – regresija, internet simulacija i brute sile.
Važno: Siege treba pokretati samo na serverima čiji ste vlasnik ili na onima za koje imate izričitu dozvolu za testiranje. U nekim zemljama, korištenje opsade na neovlaštenim web stranicama može se smatrati zločinom.
Instaliranje Siege HTTP uslužnog programa za testiranje opterećenja u Linuxu
Siege je više platforma i može se instalirati pod Ubuntu/Debian i CentOS/RHEL distribucijama koristeći sljedeće naredbe.
Da instalirate Siege pod Debin/Ubuntu, možete pokrenuti:
sudo apt install siege
Za CentOS/RHEL, trebate instalirati i omogućiti spremište za instaliranje siege sa:
yum install epel-release
yum install siege
Alternativno, možete napraviti Siege iz izvora. U tu svrhu morat ćete imati instalirane osnovne za izgradnju i razvojne pakete.
sudo apt install build-essential #Ubuntu/Debian
yum groupinstall 'Development Tools' #CentOS/RHEL
Zatim možete preuzeti Siege koristeći komandu wget i instalirati iz izvora kao što je prikazano.
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
Konfiguriranje Siege HTTP uslužnog programa za testiranje opterećenja u Linuxu
Nakon što završite instalaciju, možete prilagoditi svoj siege konfiguracijski fajl. Nalazi se u /etc/siege/siegerc. U slučaju da ste odlučili da napravite paket iz izvora, morat ćete pokrenuti:
sudo siege.config
Ovo će generirati datoteku siege.conf koja se nalazi u kući vašeg korisnika ~/.siege/siege.conf.
Sadržaj datoteke bi trebao izgledati otprilike ovako. Imajte na umu da sam dekomentirao logfile i time direktive:
cat siegerc |egrep -v "^$|#"
Sample Output
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
Sa trenutnom konfiguracijom, siege će imitirati 25 istovremenih korisnika tokom 1 minute.
Sada ste spremni da pokrenete svoju opsadu.
Testiranje opterećenja web stranice uz pomoć Siege Benchmarking Utility
Pokretanje siege je prilično jednostavno, samo trebate navesti web stranicu koju želite testirati ovako:
siege example.com
Ako dostupnost ostane na 100% i nema neuspjelih veza, vaš sistem je dobro funkcionirao i nije bilo problema. Također treba paziti na vrijeme odgovora.
Pokrenite opsadu više web lokacija
Možete testirati više URL-ova postavljanjem siege da ih čitate iz datoteke. URL-ove u /usr/local/etc/urls.txt možete opisati ovako:
Sada da kažete siege da testira URL-ove iz datoteke, koristite opciju -f
ovako:
siege -f /usr/local/etc/urls.txt
Također možete koristiti opcije komandne linije, ako želite isprobati različite postavke od onih opisanih u konfiguracijskoj datoteci.
-C
– navedite vlastitu konfiguracijsku datoteku.-q
– potiskuje izlaz opsade.-g
– GET, povucite HTTP zaglavlja i prikažite transakciju. Korisno za otklanjanje grešaka.-c
– broj istovremenih korisnika, zadano je 10.-r
– koliko puta pokrenuti test.-t
– koliko vremena treba pokrenuti test. Možete odrediti S, M ili H npr: –vrijeme=10S za 10 sekundi.-d
– nasumično kašnjenje prije svakog zahtjeva.-b
– nema kašnjenja između zahtjeva.-i
– korisnička simulacija. Koristi se za pogađanje nasumičnih URL-ova.-f
– testirati URL-ove iz određene datoteke.-l
– log fajl.-H
– Dodajte zaglavlje zahtjevu.-A
– navedite korisničkog agenta.-T
– Postavlja Content-Type u zahtjevu.--no-parser
– NEMA PARSER-a, isključite parser HTML stranice.--no-follow
– nemojte pratiti HTTP preusmjeravanja.
Zaključak
Siege je moćan alat za mjerenje pouzdanosti vašeg sistema kada je pod velikim opterećenjem. Mogu ga koristiti web programeri za testiranje svog koda kada je web stranica pod prisilom. Testove uvijek trebate izvoditi oprezno jer testirani server može postati nedostupan tokom evaluacije.