Last testing av webservere med Siege Benchmarking Tool


Å vite hvor mye trafikk webserveren din kan håndtere når den er under stress, er avgjørende for å planlegge fremtidig utvikling av nettstedet eller applikasjonen din. Ved å bruke verktøyet beleiring kan du kjøre en belastningstest på serveren din og se hvordan systemet fungerer under forskjellige omstendigheter.

Du kan bruke beleiring for å evaluere mengden data som er overført, responstid, transaksjonshastighet, gjennomstrømning, samtidighet og hvor mange ganger serveren returnerte svar. Verktøyet har tre moduser som det kan fungere i – regresjon, internettsimulering og brute force.

Viktig: Beleiring skal kun kjøres mot servere du eier eller på slike du har eksplisitt tillatelse til å teste. I noen land kan bruk av beleiring på uautoriserte nettsteder betraktes som en forbrytelse.

Installere Siege HTTP Load Testing Utility i Linux

Siege er multiplattform og kan installeres under Ubuntu/Debian- og CentOS/RHEL-distribusjoner ved å bruke følgende kommandoer.

For å installere Siege under Debin/Ubuntu, kan du kjøre:

sudo apt install siege

For CentOS/RHEL må du installere og aktivere repository for å installere beleiring med:

yum install epel-release
yum install siege

Alternativt kan du bygge Beleiringen fra kilden. For det formålet må du ha installert byggnødvendig og utviklingspakker.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Deretter kan du laste ned Siege ved å bruke wget-kommandoen og installere fra kilder som vist.

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

Konfigurere Siege HTTP Load Testing Utility i Linux

Når du har fullført installasjonen, kan du justere konfigurasjonsfilen for beleiring. Den ligger i /etc/siege/siegerc. I tilfelle du har bestemt deg for å bygge pakken fra kilden, må du kjøre:

sudo siege.config

Dette vil generere siege.conf-fil som ligger i brukerens hjem ~/.siege/siege.conf.

Innholdet i filen skal se omtrent slik ut. Merk at jeg har fjernkommentarer for loggfil og tid-direktivene:

cat siegerc |egrep -v "^$|#"
Eksempelutgang
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

Med den nåværende konfigurasjonen vil beleiring imitere 25 samtidige brukere i løpet av 1 minutt.

Du er nå klar til å kjøre beleiringen.

Testing av nettstedbelastning med Siege Benchmarking Utility

Å kjøre beleiring er ganske enkelt, du trenger bare å spesifisere nettstedet du ønsker å teste slik:

siege example.com

Hvis tilgjengeligheten forblir 100 % og det ikke er noen mislykkede tilkoblinger, gjorde systemet ditt bra og det var ingen problemer. Du bør også holde øye med responstiden.

Kjør beleiring mot flere nettsteder

Du kan teste flere nettadresser ved å angi beleiring for å lese dem fra filen. Du kan beskrive nettadressene i /usr/local/etc/urls.txt slik:

Nå for å fortelle siege å teste URL-ene fra filen, bruk -f-alternativet slik:

siege -f /usr/local/etc/urls.txt

Du kan også bruke kommandolinjealternativer hvis du vil prøve andre innstillinger enn de som er beskrevet i konfigurasjonsfilen.

  • -C – spesifiser din egen konfigurasjonsfil.
  • -q – undertrykker beleiringens utgang.
  • -g – GET, trekk ned HTTP-overskrifter og vis transaksjonen. Nyttig for feilsøking.
  • -c – antall samtidige brukere, standard er 10.
  • -r – hvor mange ganger du skal kjøre testen.
  • -t – hvor mye tid det tar å kjøre testen. Du kan spesifisere S, M eller H eks: –tid=10S i 10 sekunder.
  • -d – tilfeldig forsinkelse før hver forespørsel.
  • -b – ingen forsinkelser mellom forespørsler.
  • -i – brukersimulering. Brukes til å treffe tilfeldige nettadresser.
  • -f – test URL-er fra spesifisert fil.
  • -l – loggfil.
  • -H – Legg til en overskrift for forespørselen.
  • -A – spesifiser en brukeragent.
  • -T – Angir innholdstype i forespørsel.
  • --no-parser – INGEN PARSER, slå av HTML-sideparseren.
  • --no-follow – ikke følg HTTP-omdirigeringer.
Konklusjon

Beleiring er et kraftig verktøy for å måle systemets pålitelighet under høy belastning. Den kan brukes av webutviklere til å teste koden deres når nettstedet er under tvang. Du bør alltid kjøre testene med forsiktighet da den testede serveren kan bli utilgjengelig under evalueringen.