Az AB az ApacheBench rövidítése.
Az ab parancs több párhuzamos hozzáférési szálat hoz létre, hogy szimulálja, ahogy több látogató egyszerre fér hozzá egy URL-címhez. Tesztcéljai URL-alapú célpontok, így használható mind az apache terhelés, mind más webszerver stressz, mint például nginx, lighthttp, tomcat, IIS stb. tesztelésére.
Az ab parancs alacsony követelményeket mutat a terhelést kiadó számítógép számára, és nem foglal el sok CPU-t vagy memóriát. Azonban hatalmas terhelést okoz a célszerveren, és az elvei hasonló a CC támadásokhoz. Figyelned kell arra is, hogy magad teszteld és használd, különben túl sok terhelés lesz egyszerre. Ez okozhatja, hogy a célszerver erőforrásai kifogynak, és súlyos esetekben összeomlást is okozhatnak.
1. Bevezetés az Apache Padhoz
Az ApacheBench egy webes stressztesztelő eszköz, amely Apache szerverekkel jár, rövidítve ab. Az AB egy parancssoros eszköz is, amelynek alacsony natív igénye van a hasznos rakományok indítására, és sok egyidejű hozzáférési szál létrehozható az AB parancs szerint, szimulálva, hogy több látogató egyszerre ér el egy adott URL-címet, így használható a célszerver terhelésének tesztelésére. Általánosságban az AB eszköz kicsi és egyszerű, gyorsan megtanulható, és megadja az alapvető teljesítménymutatókat, amikre szükséged van, de nincsenek grafikus eredmények, és nem lehet nyomon követni.
2. Apache Pad telepítés
Először telepítened kell az Apache szervert, letöltened a címet:A hiperlink bejelentkezés látható.,
A gépem egy win10 64 bites rendszer, ezért letöltöttem a "httpd-2.4.33-win64-VC15.zip" szót, link:A hiperlink bejelentkezés látható.
Ajánlott a legújabb verzió letöltése, mivel az ab régebbi verziói nem támogatják a -r paramétert.
3. Apache padok használata
Értsd meg a paramétereket
Paraméterleírás: Formátum: ab [options] [http://]hostname[:p ort]/path
-n kérések száma //A tesztben indított kérések összesített száma -c egyidejű kérések száma // Egyszerre generált kérések (vagy egyidejű kérések) száma -t időkorlát: Másodpercek maximumig. Válaszokat vár //A teszt maximális másodpercszáma, amelyet alapértelmezés szerint végeznek. -r Ne lépj ki a socketen, hibát kapsz. Dobj egy kivételt a tesztfeladat folytatásához -p postfile Fájl, amely adatokat tartalmaz POST-ra // Egy fájl, amely olyan adatot tartalmaz, amelynek POST-nak kell lennie, olyan fájlformátumban, mint például "p1=1&p2=2". A használati módszer: -p 111.txt
-T tartalomtípus Tartalomtípus fejléce a POSTinghoz A POST adatokhoz használt tartalomtípus fejléc, például -T "application/x-www-form-urlencoded". (co-p) -v bőbeszéd Mennyi hibahiba-információ kell nyomtatni Állítsd be a részletek szintjét az információk megjelenítésére – 4 vagy annál nagyobb érték a fejlécek adatait mutatja, 3 vagy annál nagyobb érték válaszkódot (404, 200 stb.), míg 2 vagy annál nagyobb érték figyelmeztetéseket és egyéb információkat mutat. -V megjeleníti a verziószámot és a kilépéseket. -C attribútum Süti hozzáadása, például. -C "c1=1234,c2=2,c3=3" (ismételhető) -C cookie-name=érték Csatolj egy sütit a kérés: sorhoz. A tipikus forma egy paraméterpár, amely: name=value. Ez a paraméter ismétlődhet, osztva vesszővel. Tipp: A session megvalósítási elvet használhatod a JSESSIONID paraméter átadására a munkamenet fenntartásának funkciójához, például -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Nyomtatás eredmények HTML táblákban // Az kimenet HTML tábla formátumban jelenik meg. Alapértelmezés szerint egy táblázat, amelynek két oszlopa van széles fehér háttéren. -HEAD-et használok a GET helyett -x attribútumok String, hogy táblázat attribútumként kerüljön be -y attribútumok String tr attribútumként való hozzáadáshoz -z attribútumok String td vagy th attribútumként való hozzáadásra -H attribútum: Hozzáadni tetszőleges fejlécsorat, például. 'Accept-Encoding: gzip' Minden normál fejlécsorat után kerül be. (ismételhető) -Egy attribútum: Alapvető WWW hitelesítés, az attribútumok egy kétkettős néven és jelszóban találhatók. -P attribútum Alapvető proxy hitelesítés hozzáadása esetén az attribútumok egy kétkollóval elválasztott felhasználónév és jelszó. -X proxy:port Proxyszerver és portszám -V Nyomtatás verziószám és kijárat -k HTTP KeepAlive funkció használata -d Ne mutassuk a szolgált százalékokat az asztalon. -S Ne mutassanak bizalmi becslőt és figyelmeztetést. -g fájlnév: A gnuplot formátumú fájlba juttatott összegyűjtött adat. -e fájlnév CSV kimeneti fájl a szolgált százalékokkal -h Használati információk megjelenítése (ez az üzenet) Sok paraméter létezik, általában használhatunk -c és -n paramétereket. Például:
Bontsd ki a "httpd-2.4.33-win64-VC15.zip"-t, menj az \Apache24\bin gombra, és indítsd el a cmd parancssorral, ahogy az alábbi ábrán látható:
Az SSL nem fordítva le; nincs https támogatás: Az SSL nincs fordítva; Nincs https támogatás, ami azt jelenti, hogy a weboldal nem támogatja az https-et.
Teszteredmények:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com Az SSL nem fordítva le; Nincs HTTPS támogatás
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Ez ApacheBench, 2.3-as verzió <$Revision: 1826891 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd,A hiperlink bejelentkezés látható. Az Apache Software Foundation licencével rendelkezik,A hiperlink bejelentkezés látható.
Benchmarkingwww.itsvse.com(légy türelmes) 100 kérést teljesítettem 200 kérést teljesítve 300 kérést teljesítettem 400 kérést teljesítve 500 kérést teljesítettem 600 kérést teljesítve 700 kérést teljesítve 800 kérést teljesítve 900 kérést teljesítve 1000 kérést teljesítve 1000 kérést teljesítettem
Szerverszoftver: Szerver hostnév: www.itsvse.com Szerver port: 80
Dokumentum út: / Dokumentum hossza: 178 bájt
Egyidejű szint: 10 A vizsgák időtartama: 44,916 másodperc Teljes kérések: 1000 Sikertelen kérések: 0 Nem 2xx válaszok: 1000 Összesen áthelyezett összeg: 349000 bájt HTML átvitt: 178000 bájt Kérések másodpercenként: 22,26 [#/sec] (átlag) Kérés szerinti idő: 449.164 [ms] (átlagos) Kérésenkénti idő: 44,916 [ms] (átlag, az összes egyidejű kérés között) Átviteli sebesség: 7,59 [Kbyte/sec] átvett
Kapcsolati idők (ms) minim mean[+/-sd] medián 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
A kérések adott időben történő teljesítése (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100% 1830 (leghosszabb kérés) Paraméterelemzés:
Dokumentumút: Tesztoldal Dokumentum hossza: Az oldalméret Egyidejű szint: Az egyidejű tesztelt párhuzamos szám A tesztek időtartama: A teljes vizsga időtartama Teljes kérések: A teljesített kérések száma Sikertelen kérések: a sikertelen kérések száma Írási hibák: 0 Átvitt összesített összeg: A folyamat során átvitt hálózat mennyisége HTML átvitt: A folyamat során átvitt HTML tartalom mennyisége Kérések másodpercenként: Az egyik legfontosabb mutató, amely megfelel a tranzakciók másodpercenként az LR-ben, és az átlag zárójelben azt jelzi, hogy ez egy átlag Kérésenkénti idő: A két legfontosabb metrika, amely megfelel az LR-ben a tranzakciós átlagos válaszidőnek, és zárójelben átlagosan jelzi, hogy ez átlag Kérésenkénti idő: Minden csatlakozási kéréshez tartozó tényleges futási idő átlaga Átviteli sebesség: A hálózaton a másodpercenkénti átlagos forgalom, ami segíthet kizárni a túlzott hálózati forgalom problémáját, amely hosszú válaszidőt okoz
|