AB er en forkortelse for ApacheBench.
ab-kommandoen oppretter flere samtidige tilgangstråder for å simulere at flere besøkende får tilgang til en URL-adresse samtidig. Testmålene er URL-baserte, så den kan brukes til å teste både apache-belastningsstress og andre webserverbelastninger som nginx, lighthttp, tomcat, IIS, osv.
Ab-kommandoen har lave krav til datamaskinen som leverer belastningen, og den bruker ikke mye CPU eller minne. Det vil imidlertid føre til en enorm belastning på målserveren, og prinsippet ligner på CC-angrep. Du må også være oppmerksom på testing og bruk selv, ellers får du for mye belastning på en gang. Det kan føre til at målserveren går tom for ressurser, og i alvorlige tilfeller til og med forårsake krasj.
1. Introduksjon til Apache Bench
ApacheBench er et nettbasert stresstestverktøy som følger med Apache-servere, forkortet ab. AB er også et kommandolinjeverktøy med lave native krav for å initiere nyttelaster, og mange samtidige tilgangstråder kan opprettes i henhold til AB-kommandoen, som simulerer flere besøkende som får tilgang til en bestemt URL-adresse samtidig, slik at det kan brukes til å teste belastningstrykket til målserveren. Generelt er AB-verktøyet lite og enkelt, raskt å lære og kan gi de grunnleggende ytelsesindikatorene du trenger, men det finnes ingen grafiske resultater og kan ikke overvåkes.
2. Apache Bench-installasjon
Først må du installere Apache-serveren, laste ned adressen:Innloggingen med hyperkoblingen er synlig.,
Datamaskinen min er et Win10 64-bits system, så jeg lastet ned "httpd-2.4.33-win64-VC15.zip", lenke:Innloggingen med hyperkoblingen er synlig.
Det anbefales å laste ned den nyeste versjonen, da eldre versjoner av ab ikke støtter -r-parameteren.
3. Bruk av Apache Bench
Forstå parameterne
Parameterbeskrivelse: Format: ab [alternativer] [http://]vertsnavn[:p ort]/bane
-n forespørsler Antall forespørsler som skal utføres //Det totale antallet forespørsler initiert i denne testen -c samtidighet Antall flere forespørsler å gjøre // Antall forespørsler (eller samtidighet) generert samtidig -t tidsbegrensning Sekunder til maks. Vent på svar //Det maksimale antallet sekunder en test utføres som standard. -r Ikke gå ut på socket motta feil. Kast et unntak for å fortsette testoppgaven -p postfil Fil som inneholder data til POST // En fil som inneholder data som må være POST, i et filformat som "p1=1&p2=2". Bruksmetoden er -p 111.txt
-T innholdstype Innholdstype header for POSTing Innholdstype-headeren brukt for POST-dataene, som -T "application/x-www-form-urlencoded". (co-p) -v ordrikk Hvor mye feilsøkingsinformasjon skal skrives ut Sett detaljnivået for å vise informasjon – en verdi på 4 eller høyere vil vise header-informasjon, en verdi på 3 eller høyere vil vise en svarkode (404, 200, osv.), og en verdi på 2 eller høyere vil vise advarsler og annen informasjon. -V viser versjonsnummer og utganger. -C-attributt Legg til informasjonskapsel, f.eks. -C "c1=1234,c2=2,c3=3" (repeterbar) -C cookie-name=value Legg til en cookie på forespørselen: linjen. Den typiske formen er et parameterpar navn=verdi. Denne parameteren kan gjentas, delt på et komma. Tips: Du kan bruke prinsippet for sesjonsimplementering for å sende JSESSIONID-parameteren for å oppnå funksjonen med å opprettholde sesjonen, for eksempel -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Utskrift ut resultater i HTML-tabeller // Utdata resultater i HTML-tabellformat. Som standard er det en tabell med to kolonner brede på hvit bakgrunn. -I bruker HEAD i stedet for GET -x attributter Streng å sette inn som tabellattributter -y-attributter Streng å sette inn som tr-attributter -z attributter Streng som skal settes inn som td eller th attributter -H-attributt Legg til vilkårlig overskriftslinje, f.eks. 'Accept-Encoding: gzip' Satt inn etter alle vanlige header-linjer. (repeterbar) -En attributt Legg til grunnleggende WWW-autentisering, attributtene er et bruksnavn og passord adskilt i kolon. -P-attributtet Legg til grunnleggende proxy-autentisering, attributtene er et bruksnavn og passord separert med kolon. -X proxy:port Proxyserver og portnummer å bruke -V Print versjonsnummer og utgang -k Bruk HTTP KeepAlive-funksjonen -d Ikke vis prosentiler servert tabell. -S Ikke vis konfidensestimatorer og advarsler. -g filnavn Eksporter innsamlede data til gnuplot-formatfil. -e filnavn Utdata CSV-fil med prosentvis servert -h Viser bruksinformasjon (denne meldingen) Det finnes mange parametere, vanligvis kan vi bruke -c og -n parametere. For eksempel:
Pakk ut "httpd-2.4.33-win64-VC15.zip", gå til \Apache24\bin, og start den med kommandolinjen cmd, som vist i figuren nedenfor:
SSL ikke kompilert inn; ingen https-støtte: SSL er ikke kompilert i; Det finnes ingen https-støtte, noe som betyr at nettsiden ikke støtter https.
Testresultater:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL ikke kompilert inn; Ingen https-støtte
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Dette er ApacheBench, versjon 2.3 <$Revision: 1826891 $> Opphavsrett 1996 Adam Twiss, Zeus Technology Ltd,Innloggingen med hyperkoblingen er synlig. Lisensiert til The Apache Software Foundation,Innloggingen med hyperkoblingen er synlig.
Benchmarkingwww.itsvse.com(vær tålmodig) Fullført 100 forespørsler Fullførte 200 forespørsler Fullført 300 forespørsler Fullført 400 forespørsler Fullførte 500 forespørsler Fullført 600 forespørsler Fullført 700 forespørsler Fullførte 800 forespørsler Fullført 900 forespørsler Fullført 1000 forespørsler Fullført 1000 forespørsler
Serverprogramvare: Serververtsnavn: www.itsvse.com Serverport: 80
Dokumentsti: / Dokumentlengde: 178 byte
Samtidighetsnivå: 10 Tid brukt for tester: 44,916 sekunder Fullstendige forespørsler: 1000 Mislykkede forespørsler: 0 Ikke-2xx-svar: 1000 Totalt overført: 349 000 byte HTML overført: 178 000 byte Forespørsler per sekund: 22,26 [#/sek] (gjennomsnitt) Tid per forespørsel: 449.164 [ms] (middel) Tid per forespørsel: 44,916 [ms] (gjennomsnitt, på tvers av alle samtidige forespørsler) Overføringshastighet: 7,59 [Kbytes/sek] mottatt
Tilkoblingstider (ms) Min gjennomsnitt[+/-SD] median maks
Connect: 32 45 60.1 37 1439
Processing: 35 401 185.6 356 1795
Waiting: 34 245 199.6 228 1791
Total: 69 446 195.4 397 1830
Prosentandel av forespørslene som sendes innen en viss tid (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100 % 1830 (lengste forespørsel) Parameteranalyse:
Dokumentsti: Testside Dokumentlengde: Sidestørrelsen Samtidighetsnivå: Antall samtidige løp som testes samtidig Tid brukt på prøver: Varigheten av hele testen Fullføre forespørsler: Antall fullførte forespørsler Mislykkede forespørsler: Antall mislykkede forespørsler Skrivefeil: 0 Total overført: Mengden nettverk som overføres gjennom prosessen HTML overført: Mengden HTML-innhold som overføres gjennom prosessen Forespørsler per sekund: En av de viktigste måleparametrene, tilsvarende transaksjoner per sekund i LR, og gjennomsnitt i parentes indikerer at dette er et gjennomsnitt Tid per forespørsel: De to viktigste måleparametrene, tilsvarende gjennomsnittlig responstid på transaksjoner i LR, gjennomsnitt i parentes indikerer at dette er et gjennomsnitt Tid per forespørsel: Gjennomsnittet av den faktiske kjøretiden for hver tilkoblingsforespørsel Overføringshastighet: Gjennomsnittlig trafikk per sekund på nettverket, noe som kan bidra til å utelukke problemet med overdreven nettverkstrafikk som forårsaker lange responstider
|