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.