Load Testing Web-servere med Siege Benchmarking Tool
At vide, hvor meget trafik din webserver kan håndtere, når du er under stress, er afgørende for planlægningen af din websides eller applikations fremtidige vækst. Ved at bruge værktøj kaldet siege kan du køre en belastningstest på din server og se, hvordan dit system fungerer under forskellige omstændigheder.
Du kan bruge belejring til at evaluere mængden af data, der overføres, svartid, transaktionshastighed, gennemstrømning, samtidighed og hvor mange gange serveren returnerede svar. Værktøjet har tre tilstande, hvor det kan fungere - regression, internetsimulering og brute force.
Vigtigt: Siege skal kun køres mod servere, du ejer, eller på sådanne, som du har eksplicit tilladelse til at teste. I nogle lande kan brugen af belejring på uautoriserede websteder betragtes som en forbrydelse.
Installation af Siege HTTP Load Testing Utility i Linux
Siege er multi-platform og kan installeres under Ubuntu/Debian og CentOS/RHEL distributioner ved hjælp af følgende kommandoer.
For at installere Siege under Debin/Ubuntu kan du køre:
$ sudo apt install siege
For CentOS/RHEL skal du installere og aktivere lager for at installere belejring med:
# yum install epel-release # yum install siege
Alternativt kan du oprette belejringen fra kilden. Til dette formål skal du have build-essentielle og udviklingspakker installeret.
$ sudo apt install build-essential #Ubuntu/Debian # yum groupinstall 'Development Tools' #CentOS/RHEL
Derefter kan du downloade Siege ved hjælp af 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
Konfiguration af Siege HTTP Load Testing Utility i Linux
Når du er færdig med installationen, kan du justere din belejringskonfigurationsfil. Det er placeret i/etc/belejring/siegerc. Hvis du har besluttet at bygge pakken fra kilden, skal du køre:
$ sudo siege.config
Dette genererer siege.conf-fil placeret i din brugers hjem ~/.siege/siege.conf.
Indholdet af filen skal se sådan ud. Bemærk, at jeg ikke har kommenteret logfilen og tidsdirektiverne:
# cat siegerc |egrep -v "^$|#"
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 aktuelle konfiguration vil belejring efterligne 25 samtidige brugere i løbet af 1 minut.
Du er nu klar til at køre din belejring.
Test af webstedets belastning med Siege Benchmarking Utility
At køre belejring er ret let, du behøver kun at specificere det websted, du vil teste sådan:
# siege example.com
Hvis tilgængeligheden forbliver på 100%, og der ikke er nogen mislykkede forbindelser, klarede dit system sig godt, og der var ingen problemer. Du bør også holde øje med svartiden.
Du kan teste flere webadresser ved at indstille belejring for at læse dem fra filen. Du kan beskrive webadresserne i /usr/local/etc/urls.txt således:
For at fortælle belejring for at teste URL'erne fra filen skal du bruge indstillingen -f
som denne:
# siege -f /usr/local/etc/urls.txt
Du kan også bruge kommandolinjemuligheder, hvis du vil prøve andre indstillinger end dem, der er beskrevet i konfigurationsfilen.
-
-C
- angiv din egen konfigurationsfil. -
-q
- undertrykker belejringens output. -
-g
- FÅ, træk HTTP-headere ned og vis transaktionen. Nyttig til fejlretning. -
-c
- antallet af samtidige brugere, standard er 10. -
-r
- hvor mange gange der skal køres testen. -
-t
- hvor lang tid til at køre testen. Du kan angive S, M eller H ex: –time = 10S i 10 sekunder. -
-d
- tilfældig forsinkelse før hver anmodning. -
-b
- ingen forsinkelser mellem anmodninger. -
-i
- brugersimulering. Bruges til at ramme tilfældige webadresser. -
-f
- test URL'er fra den angivne fil. -
-l
- logfil. -
-H
- Tilføj et overskrift til anmodning. -
-A
- angiv en brugeragent. -
-T
- Indstiller Content-Type i anmodning. -
--no-parser
- NO PARSER, slå HTML-sideparseren fra. -
- no-follow
- følg ikke HTTP-omdirigeringer.
Siege er et kraftfuldt værktøj til at måle dit systems pålidelighed, når det er under høj belastning. Det kan bruges af webudviklere til at teste deres kode, når webstedet er under tvang. Du skal altid køre dine tests med forsigtighed, da den testede server kan blive utilgængelig under evalueringen.