AB je skratka pre ApacheBench.
Príkaz ab vytvára viacero súbežných prístupových vlákien na simuláciu viacerých návštevníkov pristupujúcich k URL adrese súčasne. Jeho testovacie ciele sú založené na URL, takže ho možno použiť na testovanie zaťaženia apache a ďalších zaťažení webových serverov, ako sú nginx, lighthttp, tomcat, IIS a podobne.
Príkaz ab má nízke požiadavky na počítač, ktorý vykonáva záťaž, a nezaberá veľa CPU ani pamäte. Avšak spôsobí obrovskú záťaž na cieľovom serveri a jeho princíp je podobný útokom CC. Musíte tiež venovať pozornosť testovaniu a používaniu sami, inak budete mať naraz príliš veľkú záťaž. Môže to spôsobiť, že cieľovému serveru dôjdu zdroje a v závažných prípadoch dokonca dôjde k pádu.
1. Úvod do Apache Bench
ApacheBench je webový nástroj na testovanie záťaže, ktorý je súčasťou Apache serverov, skrátene ab. AB je tiež nástroj príkazového riadku s nízkymi natívnymi požiadavkami na iniciovanie payloadov a podľa príkazu AB je možné vytvoriť mnoho súbežných prístupových vlákien, simulujúc viacero návštevníkov pristupujúcich k určitej URL adrese súčasne, aby sa dal použiť na testovanie zaťaženia cieľového servera. Vo všeobecnosti je nástroj AB malý a jednoduchý, rýchlo sa naučí a dokáže poskytnúť základné ukazovatele výkonnosti, ktoré potrebujete, ale neobsahuje grafické výsledky a nedá sa monitorovať.
2. Inštalácia Apache Bench
Najprv musíte nainštalovať Apache server a stiahnuť adresu:Prihlásenie na hypertextový odkaz je viditeľné.,
Môj počítač je Windows 10 64-bitový systém, tak som si stiahol "httpd-2.4.33-win64-VC15.zip", odkaz:Prihlásenie na hypertextový odkaz je viditeľné.
Odporúča sa stiahnuť najnovšiu verziu, pretože staršie verzie ab nepodporujú parameter -r.
3. Použitie Apache Bench
Pochopte parametre
Popis parametra: Formát: ab [options] [http://]hostname[:p ort]/path
-n požiadaviek Počet požiadaviek na vykonanie //Celkový počet požiadaviek iniciovaných v tomto teste -c súbežnosť Počet viacerých požiadaviek na vykonanie // Počet požiadaviek (alebo súbežnosti) generovaných naraz -t časový limit Sekundy do maxima. Čakanie na odpovede //Maximálny počet sekúnd, počas ktorých sa test vykoná štandardne. -r Neodchádzajte pri chybách prijímania socketu. Vyhodte výnimku, aby ste mohli pokračovať v testovacej úlohe -p postfile súbor obsahujúci dáta do POST // Súbor obsahujúci dáta, ktoré musia byť POST, vo formáte súboru ako "p1=1&p2=2". Spôsob použitia je -p 111.txt
-T typ obsahu Hlavička typu obsahu pre POSTovanie Hlavička typu Content, ktorá sa používa pre POST dáta, napríklad -T "application/x-www-form-urlencoded". (co-p) -v slovnosť Koľko informácií o riešení problémov tlačiť Nastavte úroveň detailu na zobrazenie informácií – hodnota 4 alebo viac zobrazí informácie v hlavičke, hodnota 3 alebo viac zobrazí kód odpovede (404, 200 a pod.) a hodnota 2 alebo viac zobrazí varovania a ďalšie informácie. -V zobrazuje číslo verzie a končí. -C atribút Pridaj cookie, napr. -C "c1=1234,c2=2,c3=3" (opakovateľné) -C cookie-name=value Pridať cookie do riadku požiadavky: . Typická forma je pár parametrov meno=hodnota. Tento parameter možno opakovať, delený čiarkou. Tip: Môžete použiť princíp implementácie relácie na odovzdanie parametra JSESSIONID na dosiahnutie funkcie udržiavania relácie, napríklad -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Vytlač výsledky v HTML tabuľkách // Výstup výsledkov vo formáte HTML tabuľky. Predvolene ide o tabuľku s dvoma stĺpcami širokými na bielom pozadí. -Používam HEAD namiesto GET -x atribútov Reťazec na vloženie ako atribúty tabuľky -y atributy Reťazec na vloženie ako tr atribúty -z pripisuje reťazec na vloženie ako td alebo th atribútov -H atribút Pridať ľubovoľný riadok hlavičky, napr. 'Accept-Encoding: gzip' Vložené po všetkých bežných hlavičkových riadkoch. (opakovateľné) -Atribút Pridať základnú WWW autentifikáciu, atribúty sú dvojbodka oddelené používateľské meno a heslo. -P atribút Pridať základnú autentifikáciu proxy, atribúty sú dvojbodka oddelené používateľské meno a heslo. -X proxy:port Proxyserver a číslo portu na použitie -V Tlač číslo verzie a výstup -k Použiť funkciu HTTP KeepAlive -d Neukazujte percentily, podávaný stôl. -S Neukazujte odhady dôvery a varovania. -g názov súboru Výstup zozbieraných dát do súboru vo formáte gnuplot. -e názov súboru Výstupný CSV súbor s percentami podávaných -h Zobraziť informácie o používaní (táto správa) Existuje mnoho parametrov, všeobecne môžeme použiť parametre -c a -n. Napríklad:
Rozbaľ "httpd-2.4.33-win64-VC15.zip", choď na \Apache24\bin a spusti príkazový riadok cmd, ako je znázornené na obrázku nižšie:
SSL nie je skompilované v; bez podpory https: SSL nie je kompilované v; Neexistuje podpora https, čo znamená, že stránka https nepodporuje.
Výsledky testov:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL nie je skompilované v; Žiadna podpora https
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Toto je ApacheBench, verzia 2.3 <$Revision: 1826891 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd,Prihlásenie na hypertextový odkaz je viditeľné. Licencované The Apache Software Foundation,Prihlásenie na hypertextový odkaz je viditeľné.
Porovnávaniewww.itsvse.com(buď trpezlivý) Dokončených 100 požiadaviek Dokončených 200 požiadaviek Dokončených 300 žiadostí Dokončených 400 požiadaviek Dokončených 500 požiadaviek Dokončených 600 požiadaviek Dokončených 700 žiadostí Dokončených 800 požiadaviek Dokončených 900 požiadaviek Dokončených 1000 požiadaviek Dokončených 1000 požiadaviek
Serverový softvér: Hostiteľské meno servera: www.itsvse.com Server Port: 80
Cesta k dokumentu: / Dĺžka dokumentu: 178 bajtov
Úroveň súbežnosti: 10 Čas na testy: 44,916 sekundy Kompletné požiadavky: 1000 Neúspešné požiadavky: 0 Odpovede mimo 2xx: 1000 Celkový prenos: 349000 bajtov HTML prenesené: 178000 bajtov Požiadavky za sekundu: 22,26 [#/sekunda] (priemer) Čas na žiadosť: 449.164 [ms] (priemer) Čas na žiadosť: 44,916 [ms] (priemer, pre všetky súbežné požiadavky) Prenosová rýchlosť: prijatých 7,59 [Kbytes/sec]
Časy spojenia (ms) min mean medián max [+/-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
Percento podaných žiadostí v určitom čase (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100% 1830 (najdlhšia požiadavka) Analýza parametrov:
Cesta k dokumentu: Testovacia stránka Dĺžka dokumentu: Veľkosť stránky Úroveň súbežnosti: Počet testovaných súbežnosti súbežne Čas potrebný na testy: Dĺžka celého testu Dokončené požiadavky: Počet splnených požiadaviek Neúspešné požiadavky: Počet neúspešných žiadostí Chyby zápisu: 0 Celkový prenos (Total transfered): Množstvo siete preneseného počas celého procesu HTML prenesené: Množstvo HTML obsahu preneseného počas celého procesu Požiadavky za sekundu: Jedna z najdôležitejších metrík, ekvivalentná transakciám za sekundu v LR a priemer v zátvorkách, naznačuje, že ide o priemer Čas na požiadavku: Dve najdôležitejšie metriky, ekvivalentné priemernému času odozvy transakcie v LR, v zátvorkách naznačujú, že ide o priemer Čas na požiadavku: Priemer skutočného času behu pre každú požiadavku na spojenie Prenosová rýchlosť: Priemerná prevádzka za sekundu v sieti, čo môže pomôcť vylúčiť problém nadmernej sieťovej prevádzky spôsobujúcej dlhé doby odozvy
|