AB on lyhenne sanoista ApacheBench.
Ab-komento luo useita samanaikaisia pääsysäikeitä simuloimaan useiden kävijöiden pääsyn URL-osoitteeseen samanaikaisesti. Sen testikohteet perustuvat URL-osoitteisiin, joten sitä voidaan käyttää sekä apache-kuormituksen että muiden web-palvelinrasitusten, kuten nginx, lighthttp, tomcat, IIS jne. testaamiseen.
Ab-komennolla on alhaiset vaatimukset tietokoneelle, joka lataa, eikä se vie paljon prosessoria tai muistia. Kuitenkin se aiheuttaa valtavan kuormituksen kohdepalvelimelle, ja sen periaate on samanlainen kuin CC-hyökkäyksissä. Sinun täytyy myös kiinnittää huomiota testaamiseen ja käyttämiseen itse, muuten kuormitus tulee liikaa kerralla. Se voi aiheuttaa kohdepalvelimen resurssien loppumisen ja vakavissa tapauksissa jopa kaatumisen.
1. Johdatus Apache Benchiin
ApacheBench on verkkopohjainen stressitestaustyökalu, joka tulee mukana Apache-palvelimia, lyhennettynä ab. AB on myös komentorivityökalu, jolla on alhaiset alkuperäiset vaatimukset hyötykuormien käynnistämiseen, ja monia samanaikaisia pääsysäikeitä voidaan luoda AB-komennolla, simuloiden useiden kävijöiden samassa URL-osoitteessa samanaikaisesti, jolloin sitä voidaan käyttää kohdepalvelimen kuormituspaineen testaamiseen. Yleisesti ottaen AB-työkalu on pieni ja yksinkertainen, nopea oppia ja voi tarjota tarvittavat perussuorituskykymittarit, mutta graafisia tuloksia ei ole eikä niitä voi seurata.
2. Apache Benchin asennus
Ensiksi sinun täytyy asentaa Apache-palvelin ja ladata osoite:Hyperlinkin kirjautuminen on näkyvissä.,
Tietokoneeni on win10-64-bittinen järjestelmä, joten latasin "httpd-2.4.33-win64-VC15.zip", linkki:Hyperlinkin kirjautuminen on näkyvissä.
Suositellaan lataamaan uusin versio, sillä vanhemmat ab-versiot eivät tue -r-parametria.
3. Apache Penchin käyttö
Ymmärrä parametrit
Parametrin kuvaus: Formaatti: ab [options] [http://]hostname[:p ort]/path
-n pyyntöjä suoritettavien pyyntöjen määrä //Tässä testissä käynnistettyjen pyyntöjen kokonaismäärä -c samanaikaisten pyyntöjen määrä // Samanaikaisesti tuotettujen pyyntöjen (tai samanaikaisten) määrä -t aikarajoitus Sekunneilla maksimiin. Odota vastauksia //Testi suoritetaan oletuksena maksimisekunteina. -r Älä poistu socketista, vastaanottaa virheitä. Heitä poikkeus jatkaaksesi testitehtävää -p postfile Tiedosto, joka sisältää tietoja POSTiin // Tiedosto, joka sisältää tietoja, jotka täytyy olla POST, tiedostomuodossa kuten "p1=1&p2=2". Käyttötapa on -p 111.txt
-T sisältötyyppi Sisältötyypin otsikko POSTointia varten POST-datalle käytetty Content-tyyppinen otsiko, kuten -T "application/x-www-form-urlencoded". (co-p) -v sanavalmius Kuinka paljon vianmääritystietoa tulostettavaksi Aseta yksityiskohtaisuustaso näyttämään tietoa – arvo 4 tai suurempi näyttää otsikkotiedot, arvo 3 tai suurempi vastauskoodin (404, 200 jne.) ja arvo 2 tai suurempi näyttää varoitukset ja muut tiedot. -V näyttää versionumeron ja poistuu. -C-attribuutti Lisää eväste, esim. -C "c1=1234,c2=2,c3=3" (toistettavissa) -C cookie-name=value Lisää eväste pyyntöön: riviin. Tyypillinen muoto on parametripari nimi=arvo. Tämä parametri voidaan toistaa pilkulla jaettuna pilkulla. Vinkki: Voit käyttää istunnon toteutusperiaatetta JSESSIONID-parametrin välittämiseen ja suorittaa istunnon ylläpitofunktion, kuten -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8". -w Tulosta tulokset HTML-taulukoissa // Tulostetulokset HTML-taulukon muodossa. Oletuksena kyseessä on taulukko, jossa on kaksi saraketta leveä valkoisella taustalla. -Käytän HEADia GET:n sijaan -x attribuutit Merkkijono, joka lisätään taulukkoattribuutteina -y attribuutit Merkkijono, joka lisätään tr-attribuutteina -z attribuutit Merkkijono, joka lisätään td- tai th-attribuutteina -H-attribuutti Lisää Mielivaltainen otsikkorivi, esim. 'Accept-Encoding: gzip' Lisätään kaikkien normaalien otsikkorivien jälkeen. (toistettavissa) -Attribuutti Lisää perus WWW-tunnistautuminen, attribuutit on kaksoispisteellä erotettu käyttäjätunnus ja salasana. -P-attribuutti Lisää perusvälityspalvelimen tunnistautuminen, attribuutit ovat kaksoispistein erotettu käyttäjätunnus ja salasana. -X proxy:portti Proxyserveri ja porttinumero käytettäväksi -V Tulosta versionumero ja ulostulo -k Käytä HTTP KeepAlive -ominaisuutta -d Älä näytä prosenttipisteitä, jotka tarjoilivat pöytää. -S Älä näytä luottamusarvioijia ja varoituksia. -g tiedostonimi Kerätty data tulostetaan gnuplot-muotoiseen tiedostoon. -e tiedostonimi Tuloste CSV-tiedosto prosentteineen -h Näytä käyttötiedot (tämä viesti) Parametreja on monia, yleensä voimme käyttää -c ja -n parametreja. Esimerkiksi:
Avaa "httpd-2.4.33-win64-VC15.zip"-vetoketju, mene \Apache24\bin ja aloita komentoriviltä, kuten alla olevassa kuvassa näkyy:
SSL:ää ei käännetty; ei HTTPS-tukea: SSL:ää ei ole käännetty; https-tukea ei ole, mikä tarkoittaa, että sivusto ei tue https:ää.
Testitulokset:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL:ää ei käännetty; Ei HTTPS-tukea
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Tämä on ApacheBench, versio 2.3 <$Revision: 1826891 $> Tekijänoikeudet 1996 Adam Twiss, Zeus Technology Ltd,Hyperlinkin kirjautuminen on näkyvissä. Lisensoitu The Apache Software Foundationille,Hyperlinkin kirjautuminen on näkyvissä.
Vertailuanalyysiwww.itsvse.com(ole kärsivällinen) Suoritettu 100 pyyntöä Täytetty 200 pyyntöä Täytetty 300 pyyntöä Täytetty 400 pyyntöä Täytetty 500 pyyntöä Täytetty 600 pyyntöä Täytetty 700 pyyntöä Täytetty 800 pyyntöä Täytetty 900 pyyntöä Suoritettu 1000 pyyntöä Suoritettu 1000 pyyntöä
Palvelinohjelmisto: Palvelimen isäntänimi: www.itsvse.com Palvelinportti: 80
Dokumenttipolku: / Asiakirjan pituus: 178 tavua
Samanaikaisuustaso: 10 Testiaika: 44,916 sekuntia Täydelliset pyynnöt: 1000 Epäonnistuneet pyynnöt: 0 Ei-2xx-vastauksia: 1000 Siirrettyjen kokonaismäärä: 349000 tavua HTML siirretty: 178000 tavua Pyynnöt sekunnissa: 22,26 [#/s] (keskimääräinen) Aika per pyyntö: 449.164 [ms] (keskiarvo) Aika per pyyntö: 44,916 [ms] (keskiarvo, kaikissa samanaikaisissa pyynnöissä) Siirtonopeus: 7,59 [Ktavua/sekunti] vastaanotettu
Yhteysajat (ms) Min keskiarvo[+/-SD] mediaani maksimi
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
Prosenttiosuus pyynnöistä, jotka on toimitettu tietyn ajan kuluessa (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 100 % 1830 (pisin pyyntö) Parametrien analyysi:
Asiakirjan polku: Testisivu Asiakirjan pituus: Sivun koko Samanaikaisuustaso: Samanaikaisten testien määrä Testien kestos: Koko testin kesto Täydelliset pyynnöt: Suoritettujen pyyntöjen määrä Epäonnistuneet pyynnöt: Epäonnistuneiden pyyntöjen määrä Kirjoitusvirheet: 0 Siirretty kokonaismäärä: Siirretty verkon määrä prosessin aikana Siirretty HTML: Prosessin aikana siirrettävän HTML-sisällön määrä Pyynnöt sekunnissa: Yksi tärkeimmistä mittareista, joka vastaa tapahtumia sekunnissa LR:ssä ja keskiarvo sulkeissa, osoittaa, että tämä on keskiarvo Aika per pyyntö: Kaksi tärkeintä mittaria, jotka vastaavat LR:n keskimääräistä transaktioiden vasteaikaa, ja sulkeissa keskiarvo osoittavat, että tämä on keskiarvo Aika per pyyntö: Kunkin yhteyspyynnön todellisen suoritusajan keskiarvo Siirtonopeus: Keskimääräinen liikenne sekunnissa verkossa, mikä voi auttaa sulkemaan pois liiallisen verkkoliikenteen ongelman, joka aiheuttaa pitkiä vasteaikoja
|