AB yra "ApacheBench" santrumpa.
Komanda ab sukuria kelias lygiagrečios prieigos gijas, kad imituotų kelis lankytojus, vienu metu pasiekiančius URL adresą. Jo bandymo tikslai yra pagrįsti URL, todėl jį galima naudoti tiek "Apache" apkrovos stresui, tiek kitiems žiniatinklio serverio įtempiams, tokiems kaip nginx, lighthttp, tomcat, IIS ir kt., išbandyti.
Komanda ab kelia mažus reikalavimus kompiuteriui, kuris išduoda apkrovą, ir ji neužima daug procesoriaus ar atminties. Tačiau tai sukels didžiulę apkrovą tiksliniam serveriui, o jo principas yra panašus į CC atakas. Taip pat turite atkreipti dėmesį į testavimą ir naudojimą patys, kitaip vienu metu turėsite per daug apkrovos. Dėl to tiksliniam serveriui gali pritrūkti išteklių, o sunkiais atvejais netgi sukelti gedimą.
1. Įvadas į "Apache Bench"
"ApacheBench" yra žiniatinklio testavimo nepalankiausiomis sąlygomis įrankis, pateikiamas kartu su "Apache" serveriais, sutrumpintai vadinamu ab. ab taip pat yra komandų eilutės įrankis, turintis mažus vietinius reikalavimus naudingosioms apkrovoms inicijuoti, o pagal ab komandą galima sukurti daug lygiagrečios prieigos gijų, imituojančių kelis lankytojus, vienu metu pasiekiančius tam tikrą URL adresą, todėl jį galima naudoti tikslinio serverio apkrovos slėgiui patikrinti. Apskritai AB įrankis yra mažas ir paprastas, greitai išmokstamas ir gali pateikti pagrindinius jums reikalingus veiklos rodiklius, tačiau nėra grafinių rezultatų ir jo negalima stebėti.
2. "Apache" suoliuko montavimas
Pirmiausia turite įdiegti "Apache" serverį, atsisiųsti adresą:Hipersaito prisijungimas matomas.,
Mano kompiuteris yra win10 64 bitų sistema, todėl atsisiunčiau "httpd-2.4.33-win64-VC15.zip", nuoroda:Hipersaito prisijungimas matomas.
Rekomenduojama atsisiųsti naujausią versiją, nes senesnės ab versijos nepalaiko parametro -r.
3. "Apache Bench" naudojimas
Supraskite parametrus
Parametro aprašymas: Formatas: ab [options] [http://]hostname[:p ort]/path
-n užklausos Užklausų atlikti skaičius //Bendras šiame teste inicijuotų užklausų skaičius -c sutapimas Kelių užklausų skaičius // Vienu metu sugeneruotų užklausų (arba sutapimo) skaičius -t laiko limitas Nuo sekundžių iki maks. Laukti atsakymų //Maksimalus sekundžių skaičius, per kurį testas atliekamas pagal numatytuosius nustatymus. -r Neišeikite iš lizdo gaukite klaidų. Išmeskite išimtį, kad tęstumėte bandomąją užduotį -p postfile Failas, kuriame yra duomenys į POST // Failas, kuriame yra duomenų, kurie turi būti POST, failo formatu, pvz., "p1=1&p2=2". Naudojimo būdas yra -p 111.txt
-T turinio tipas Turinio tipo antraštė, skirta POSTing Turinio tipo antraštė, naudojama POST duomenims, pvz., -T "application/x-www-form-urlencoded". (co-p) -v verbosity Kiek trikčių šalinimo informacijos spausdinti Nustatykite informacijos rodymo detalumo lygį – 4 ar didesnė reikšmė parodys antraštės informaciją, 3 ar didesnė reikšmė parodys atsakymo kodą (404, 200 ir kt.), o 2 ar didesnė reikšmė rodys įspėjimus ir kitą informaciją. -V rodo versijos numerį ir išeina. -C atributas Pridėti slapuką, pvz. -C "c1=1234,c2=2,c3=3" (pakartojamas) -C cookie-name=value Pridėkite slapuką prie užklausos: eilutės. Tipinė forma yra parametrų pora name=value. Šis parametras gali būti pakartotas, padalintas kableliu. Patarimas: galite naudoti seanso diegimo principą, kad perduotumėte parametrą JSESSIONID, kad pasiektumėte seanso palaikymo funkciją, pvz., -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Spausdinti rezultatus HTML lentelėse // Išvesties rezultatai HTML lentelės formatu. Pagal numatytuosius nustatymus tai yra lentelė su dviem stulpeliais baltame fone. -i Naudokite HEAD vietoj GET -x atributai Eilutė, įterpiama kaip lentelės atributai -y atributai Eilutė, įterpiama kaip tr atributai -z atributai Eilutė, įterpiama kaip td arba th atributai -H atributas Pridėti Savavališka antraštės eilutė, pvz. "Accept-Encoding: gzip" Įterpiama po visų įprastų antraštės eilučių. (pakartojamas) -A atributas Pridėti pagrindinį WWW autentifikavimą, atributai yra dvitaškiu atskirtas vartotojo vardas ir slaptažodis. -P atributas Pridėkite pagrindinį tarpinio serverio autentifikavimą, atributai yra dvitaškiu atskirtas vartotojo vardas ir slaptažodis. -X tarpinis serveris:prievadas Tarpinis serveris ir prievado numeris, kurį reikia naudoti -V Spausdinti versijos numerį ir išeiti -k Naudokite HTTP KeepAlive funkciją -d Nerodyti procentilių lentelės. -S Nerodykite pasitikėjimo vertintojų ir įspėjimų. -g failo pavadinimas Išvesti surinktus duomenis į gnuplot formato failą. -e failo pavadinimas Išvesties CSV failas su aptarnaujamais procentais -h Rodyti naudojimo informaciją (šis pranešimas) Yra daug parametrų, paprastai galime naudoti parametrus -c ir -n. Pavyzdžiui:
Išpakuokite "httpd-2.4.33-win64-VC15.zip", eikite į \Apache24\bin ir paleiskite jį su cmd komandine eilute, kaip parodyta toliau pateiktame paveikslėlyje:
SSL nesukompiliuotas; nėra https palaikymo: SSL nėra sukompiliuotas; Nėra https palaikymo, o tai reiškia, kad svetainė nepalaiko https.
Bandymo rezultatai:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL nesukompiliuotas; Nėra HTTPS palaikymo
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Tai yra "ApacheBench" 2.3 versija <$Revision: 1826891 > USD Autorių teisės 1996 Adam Twiss, Zeus Technology Ltd,Hipersaito prisijungimas matomas. Licencijuota "Apache Software Foundation",Hipersaito prisijungimas matomas.
Lyginamoji analizėwww.itsvse.com(būkite kantrūs) Įvykdyta 100 užklausų Įvykdyta 200 užklausų Įvykdyta 300 užklausų Įvykdyta 400 užklausų Įvykdyta 500 užklausų Įvykdyta 600 užklausų Įvykdyta 700 užklausų Įvykdyta 800 užklausų Įvykdyta 900 užklausų Įvykdyta 1000 užklausų Baigta 1000 užklausų
Serverio programinė įranga: Serverio pagrindinio kompiuterio pavadinimas: www.itsvse.com Serverio prievadas: 80
Dokumento kelias: / Dokumento ilgis: 178 baitai
Sutapimo lygis: 10 Bandymų laikas: 44,916 sekundės Užpildytos užklausos: 1000 Nepavykusios užklausos: 0 Ne 2xx atsakymai: 1000 Iš viso perkelta: 349000 baitų Perkeltas HTML: 178000 baitų Užklausos per sekundę: 22,26 [#/sek.] (vidurkis) Vienos užklausos laikas: 449.164 [ms] (vidurkis) Vienos užklausos laikas: 44,916 [ms] (vidurkis, visose vienu metu pateiktose užklausose) Perdavimo sparta: gauta 7,59 [Kbytes/sek]
Ryšio laikas (ms) min vidurkis[+/-SD] mediana max
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
Per tam tikrą laiką įteiktų prašymų procentinė dalis (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100% 1830 (ilgiausia užklausa) Parametrų analizė:
Dokumento kelias: bandomasis puslapis Dokumento ilgis: puslapio dydis Sutapimo lygis: vienu metu išbandytų sutapimų skaičius Bandymų laikas: viso bandymo trukmė Išsamios užklausos: įvykdytų užklausų skaičius Nepavykusios užklausos: nepavykusių užklausų skaičius Rašymo klaidos: 0 Iš viso perkelta: viso proceso metu perduoto tinklo kiekis Perkeltas HTML: viso proceso metu perkelto HTML turinio kiekis Užklausos per sekundę: Vienas iš svarbiausių rodiklių, atitinkantis operacijas per sekundę LR, ir vidurkis skliausteliuose rodo, kad tai yra vidurkis Vienos užklausos laikas: skliausteliuose nurodyti du svarbiausi rodikliai, atitinkantys vidutinį atsakymo į operaciją laiką LR, rodo, kad tai yra vidurkis Vienos užklausos laikas: kiekvienos prisijungimo užklausos faktinio vykdymo laiko vidurkis Perdavimo greitis: vidutinis srautas per sekundę tinkle, kuris gali padėti atmesti per didelio tinklo srauto, dėl kurio ilgas atsako laikas, problemą
|