AB je okrajšava za ApacheBench.
Ukaz ab ustvari več sočasnih dostopnih niti, da simulira več obiskovalcev, ki hkrati dostopajo do URL naslova. Njegovi testni cilji temeljijo na URL-jih, zato se lahko uporablja za testiranje tako obremenitev apache kot drugih obremenitev spletnih strežnikov, kot so nginx, lighthttp, tomcat, IIS itd.
Ukaz ab ima nizke zahteve za računalnik, ki oddaja obremenitev, in ne porabi veliko procesorja ali pomnilnika. Vendar pa povzroči ogromno obremenitev ciljnega strežnika, njegov princip pa je podoben napadom s CC. Prav tako moraš biti pozoren na testiranje in uporabo sam, sicer boš imel preveč obremenitve naenkrat. Lahko povzroči, da ciljni strežnik ostane brez virov, v hudih primerih pa celo povzroči zrušitev.
1. Uvod v Apache Bench
ApacheBench je spletno orodje za testiranje stresa, ki je priloženo Apache strežnikom, okrajšano ab. AB je tudi ukazno orodje z nizkimi nativnimi zahtevami za začetek uporabnih vsebin, poleg tega pa je mogoče ustvariti več sočasnih dostopnih niti po ukazu AB, ki simulirajo več obiskovalcev, ki hkrati dostopajo do določenega URL naslova, zato se lahko uporablja za testiranje pritiska obremenitve ciljnega strežnika. Na splošno je orodje AB majhno in preprosto, hitro za učenje ter lahko zagotovi osnovne kazalnike uspešnosti, vendar ni grafičnih rezultatov in ga ni mogoče spremljati.
2. Namestitev Apache Bench
Najprej morate namestiti Apache strežnik in prenesti naslov:Prijava do hiperpovezave je vidna.,
Moj računalnik je Win10 64-bitni sistem, zato sem prenesel "httpd-2.4.33-win64-VC15.zip", povezava:Prijava do hiperpovezave je vidna.
Priporočljivo je prenesti najnovejšo različico, saj starejše različice ab ne podpirajo parametra -r.
3. Uporaba Apache Bench
Razumite parametre
Opis parametra: Format: ab [options] [http://]hostname[:p ort]/path
-n zahtevkov Število zahtev za izvedbo //Skupno število zahtev, sproženih v tem testu -c sočasnost Število več zahtevkov za izvedbo // Število zahtevkov (ali sočasnosti), ustvarjenih hkrati -t časovna omejitev Sekunde do maksimuma. Čakanje na odgovore //Največje število sekund, v katerih se test izvede privzeto. -r Ne izhodi ob napakah sprejema vtičnice. Vrzi izjemo za nadaljevanje testne naloge -p postfile datoteka, ki vsebuje podatke za POST // Datoteka, ki vsebuje podatke, ki morajo biti POST, v datotečni obliki, kot je "p1=1&p2=2". Način uporabe je -p 111.txt
-T tip vsebine Glava tipa vsebine za POSTiranje Glava tipa Content, uporabljena za POST podatke, na primer -T "application/x-www-form-urlencoded". (co-p) -v besednost Koliko informacij o odpravljanju težav natisniti Nastavite raven podrobnosti za prikaz informacij – vrednost 4 ali več bo prikazala podatke v glavi, vrednost 3 ali več bo prikazovala kodo odziva (404, 200 itd.), vrednost 2 ali več pa opozorila in druge informacije. -V prikazuje številko različice in izhode. -C atribut Dodaj piškotek, npr. -C "c1=1234,c2=2,c3=3" (ponovljivo) -C cookie-name=value Dodaj piškotek v vrstico request: line. Tipična oblika je par parametrov ime=vrednost. Ta parameter lahko ponovimo, delimo z vejico. Nasvet: Uporabite lahko princip implementacije seje za posredovanje parametra JSESSIONID za dosego funkcije vzdrževanja seje, na primer -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Izpis rezultatov v HTML tabelah // Izpis rezultate v HTML tabeličnem formatu. Privzeto je to tabela z dvema stolpcema širokima na belem ozadju. -Uporabljam HEAD namesto GET -x atributi Niz za vstavljanje kot atributi tabele -y atributi Niz za vstavljanje kot atribute tr -z pripisuje nizu za vstavljanje kot td ali th atribute -H atribut Dodaj poljubno glavno vrstico, npr. 'Accept-Encoding: gzip' Vstavljeno po vseh običajnih vrsticah glave. (ponovljivo) -Atribut Dodaj osnovno WWW avtentikacijo, atributi so dvojčje, ločeno uporabniško ime in geslo. -P atribut Dodaj osnovno avtentikacijo proxyja, atributi so uporabniško ime in geslo ločeno z dvopičjem. -X proxy:port Proxyserver in številka vrat za uporabo -V Natisni številko različice in izhod -k Uporabi funkcijo HTTP KeepAlive -d Ne prikazujte percentile, ki jih postrežite na mizi. -S Ne prikazujte ocenjevalcev zaupanja in opozoril. -g ime datoteke Izhod zbranih podatkov v datoteko v gnuplot formatu. -e ime datoteke Izhodna CSV datoteka z odstotki postrežb -h Prikaži informacije o uporabi (to sporočilo) Obstaja veliko parametrov, običajno lahko uporabimo parametre -c in -n. Na primer:
Odpri "httpd-2.4.33-win64-VC15.zip", pojdi na \Apache24\bin in začni z ukazno vrstico cmd, kot je prikazano na spodnji sliki:
SSL ni preveden v; ni podpore za https: SSL ni preveden v; Ni podpore za https, kar pomeni, da spletna stran ne podpira https.
Rezultati testov:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL ni preveden v; Brez podpore za https
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ To je ApacheBench, različica 2.3 <$Revision: 1826891 $> Avtorske pravice 1996 Adam Twiss, Zeus Technology Ltd,Prijava do hiperpovezave je vidna. Licencirano pri The Apache Software Foundation,Prijava do hiperpovezave je vidna.
Primerjavawww.itsvse.com(bodite potrpežljivi) Dokončano 100 zahtevkov Dokončano 200 zahtevkov Zaključeno 300 zahtevkov Zaključil 400 zahtevkov Zaključil 500 zahtevkov Zaključeno 600 zahtevkov Zaključeno 700 zahtevkov Zaključeno 800 zahtevkov Zaključeno 900 zahtevkov Zaključeno 1000 zahtevkov Dokončano 1000 zahtevkov
Strežniška programska oprema: Ime gostitelja strežnika: www.itsvse.com Strežniški port: 80
Pot dokumenta: / Dolžina dokumenta: 178 bajtov
Raven sočasnosti: 10 Čas za teste: 44,916 sekund Popolne zahteve: 1000 Neuspešne zahteve: 0 Ne-2xx odgovori: 1000 Skupno preneseno: 349000 bajtov HTML prenesen: 178000 bajtov Zahteve na sekundo: 22,26 [#/sek] (povprečje) Čas na zahtevo: 449.164 [ms] (povprečje) Čas na zahtevo: 44,916 [ms] (povprečno, za vse sočasne zahteve) Prejeta hitrost prenosa: 7,59 [Kbajt/sec]
Časi povezave (ms) minimalni povprečni maksimum[+/-SD]
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
Odstotek zahtev, ki so bile odrejene v določenem času (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100% 1830 (najdaljša zahteva) Analiza parametrov:
Pot dokumenta: Testna stran Dolžina dokumenta: Velikost strani Raven sočasnosti: Število sočasnih preizkušenj Čas, potreben za teste: Trajanje celotnega testa Popolne zahteve: Število izpolnjenih zahtev Neuspešne zahteve: Število neuspešnih zahtevkov Napake pri pisanju: 0 Skupno preneseno: Količina prenesenega omrežja skozi proces HTML, prenesen: Količina HTML vsebine, prenesene skozi proces Zahteve na sekundo: Ena najpomembnejših metrik, enakovredna transakcijam na sekundo v LR, in povprečju v oklepajih, kaže, da gre za povprečje Čas na zahtevo: Dve najpomembnejši metriki, ki sta enakovredni povprečnemu odzivnemu času transakcije v LR, v oklepaju kažeta, da gre za povprečje Čas na zahtevo: Povprečje dejanskega časa izvajanja za vsako zahtevo za povezavo Hitrost prenosa: Povprečni promet na sekundo v omrežju, kar lahko pomaga izključiti problem prekomernega omrežnega prometa, ki povzroča dolge odzivne čase
|