Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 10851|Antwoord: 3

Windows Apache ab website stresstest

[Link kopiëren]
Geplaatst op 14-06-2018 11:14:30 | | | |
AB is een afkorting voor ApacheBench.

Het ab-commando creëert meerdere gelijktijdige toegangsthreads om te simuleren dat meerdere bezoekers tegelijkertijd een URL-adres benaderen. De testdoelen zijn URL-gebaseerd, waardoor het zowel apache-belastingsstress als andere webserver-stressfactoren zoals nginx, lighthttp, tomcat, IIS, enzovoort kan testen.

Het ab-commando stelt lage eisen voor de computer die de belasting toedient, en het neemt niet veel CPU of geheugen in beslag. Het zal echter een enorme belasting op de doelserver veroorzaken, en het principe lijkt op CC-aanvallen. Je moet ook goed letten op het zelf testen en gebruiken, anders krijg je te veel belasting tegelijk. Het kan ervoor zorgen dat de doelserver zonder middelen komt te zitten, en in ernstige gevallen zelfs een crash veroorzaakt.

1. Introductie tot Apache Bench

ApacheBench is een web-stresstesttool die wordt geleverd met Apache-servers, afgekort als ab. AB is ook een commandoregeltool met lage native eisen voor het initiëren van payloads, en veel gelijktijdige toegangsthreads kunnen worden aangemaakt volgens het ab-commando, waarbij meerdere bezoekers simuleren die tegelijkertijd een bepaald URL-adres benaderen, zodat het kan worden gebruikt om de belastingdruk van de doelserver te testen. Over het algemeen is de AB-tool klein en eenvoudig, snel te leren en kan het de basisprestatie-indicatoren leveren die je nodig hebt, maar er zijn geen grafische resultaten en kunnen niet worden gemonitord.



2. Apache Bench installatie

Eerst moet je de Apache-server installeren en het adres downloaden:De hyperlink-login is zichtbaar.

Mijn computer is een win10 64-bit systeem, dus ik heb "httpd-2.4.33-win64-VC15.zip" gedownload., link:De hyperlink-login is zichtbaar.

Het wordt aanbevolen om de nieuwste versie te downloaden, omdat oudere versies van ab de -r-parameter niet ondersteunen.

3. Gebruik van Apache Bench

Begrijp de parameters

Parameterbeschrijving:
Formaat: ab [opties] [http://]hostname[:p ort]/pad

-n verzoeken Aantal verzoeken uit te voeren //Het totaal aantal verzoeken dat in deze test wordt gestart
-c gelijktijdigheid Aantal meerdere verzoeken om te doen // Aantal verzoeken (of gelijktijdigheid) dat tegelijk wordt gegenereerd
-t tijdslimiet Seconden tot maximaal. Wacht op antwoorden //Het maximale aantal seconden dat een test standaard wordt uitgevoerd.
-r Niet uitgaan bij socket ontvangsfouten.     Gooi een uitzondering om de testtaak voort te zetten
-p postbestand bestand met gegevens naar POST // Een bestand met gegevens die POST moeten zijn, in een bestandsformaat zoals "p1=1&p2=2". De gebruikswijze is -p 111.txt

-T content-type Content-type header voor POSTing
De Content-type header die voor de POST-gegevens wordt gebruikt, zoals -T "application/x-www-form-urlencoded". (co-p)
-v omvang hoeveel probleemoplossingsinformatie moet je afdrukken
Stel het detailniveau in om informatie weer te geven – een waarde van 4 of hoger toont headerinformatie, een waarde van 3 of hoger toont een responscode (404, 200, enz.), en een waarde van 2 of hoger geeft waarschuwingen en andere informatie aan. -V toont het versienummer en vertrekt.
-C-attribuut Voeg cookie toe, bijvoorbeeld. -C "c1=1234,c2=2,c3=3" (herhaalbaar)
-C cookie-naam=waarde Voeg een cookie toe aan de request:-regel. De typische vorm is een parameterpaar name=waarde. Deze parameter kan worden herhaald, gedeeld door een komma.
Tip: Je kunt het sessie-implementatieprincipe gebruiken om de JSESSIONID-parameter door te geven om de functie van het onderhouden van de sessie te bereiken, zoals -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8".
-w Print out resultaten in HTML-tabellen // Output results in HTML-tabelformaat. Standaard is het een tabel met twee kolommen breed op een witte achtergrond.
-Ik gebruik HEAD in plaats van GET
-x attributen String om in te voegen als tabelattributen
-y attributen String om in te voegen als tr-attributen
-z attributen String om in te voegen als td of th attributen
-H attribuut Voeg willekeurige kopregel toe, bijvoorbeeld. 'Accept-Encoding: gzip' Ingevoegd na alle normale headerregels. (herhaalbaar)
-Een attribuut Voeg Basis WWW-authenticatie toe, de attributen
zijn een dubbele dubbele naam, gebruikersnaam en wachtwoord gescheiden.
-P-attribuut Voeg Basic Proxy Authentication toe, de attributen zijn een dubbele dubbele naam, gebruikersnaam en wachtwoord.
-X proxy:poort Proxyserver en poortnummer te gebruiken
-V Printversienummer en uitgang
-k Gebruik HTTP KeepAlive-functie
-d Geen geserveerde percentielen tonen.
-S Geen betrouwbaarheidsschattingen en waarschuwingen tonen.
-g bestandsnaam Voer verzamelde gegevens uit naar het gnuplot-formaat bestand.
-e bestandsnaam Output CSV-bestand met percentages bediend
-h Weergave gebruiksinformatie (dit bericht)

Er zijn veel parameters, meestal kunnen we -c en -n parameters gebruiken. Bijvoorbeeld:


Pak de "httpd-2.4.33-win64-VC15.zip uit", ga naar \Apache24\bin en start deze met de cmd-commandoregel, zoals getoond in de onderstaande figuur:



SSL niet gecompileerd in; geen https-ondersteuning: SSL is niet gecompileerd in; Er is geen https-ondersteuning, wat betekent dat de website geen https ondersteunt.

Testresultaten:

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com
SSL niet gecompileerd in; Geen HTTPS-ondersteuning

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/
Dit is ApacheBench, versie 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,De hyperlink-login is zichtbaar.
Gelicentieerd aan The Apache Software Foundation,De hyperlink-login is zichtbaar.

Benchmarkingwww.itsvse.com(Wees geduldig)
100 verzoeken afgerond
200 verzoeken afgerond
300 verzoeken afgerond
400 verzoeken afgerond
500 verzoeken afgerond
600 verzoeken voltooid
700 verzoeken afgerond
800 verzoeken afgerond
900 verzoeken afgerond
1000 verzoeken afgerond
1000 verzoeken afgerond


Serversoftware:
Serverhostnaam:        www.itsvse.com
Serverpoort: 80

Documentpad: /
Documentlengte: 178 bytes

Gelijktijdig niveau: 10
Tijd voor tests: 44,916 seconden
Volledige verzoeken: 1000
Mislukte verzoeken: 0
Niet-2xx reacties: 1000
Totaal overgedragen: 349.000 bytes
HTML overgedragen: 178000 bytes
Verzoeken per seconde: 22,26 [#/sec] (gemiddeld)
Tijd per verzoek: 449.164 [ms] (gemiddeld)
Tijd per verzoek: 44,916 [ms] (gemiddeld, over alle gelijktijdige verzoeken)
Overdrachtssnelheid: 7,59 [Kbytes/sec] ontvangen

Verbindingstijden (ms)
              min gemiddelde[+/-SD] mediaan 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

Percentage van de verzoeken die binnen een bepaalde tijd (ms) worden verzonden
  50%    397
  66%    415
  75%    439
  80%    461
  90%    535
  95%    623
  98%   1563
  99%   1784
100% 1830 (langste verzoek)

Parameteranalyse:

Documentpad: Testpagina
Documentlengte: De paginagrootte
Gelijktijdigheidsniveau: Het aantal gelijktijdig geteste gelijktijdige gelijktijdigheid
Tijd die nodig is voor toetsen: De duur van de hele test
Volledige verzoeken: Het aantal voltooide verzoeken
Mislukte verzoeken: Het aantal mislukte verzoeken
Schrijffouten: 0
Totaal overgedragen: De hoeveelheid netwerk die gedurende het proces wordt overgedragen
HTML overgedragen: De hoeveelheid HTML-inhoud die tijdens het proces wordt overgedragen
Verzoeken per seconde: Een van de belangrijkste metrics, gelijkwaardig aan transacties per seconde in LR, en het gemiddelde tussen haakjes geeft aan dat dit een gemiddelde is
Tijd per verzoek: De twee belangrijkste metrics, gelijk aan de gemiddelde responstijd van transacties in LR, geven in haakjes aan dat dit een gemiddelde is
Tijd per verzoek: Het gemiddelde van de daadwerkelijke uitvoeringstijd voor elk verbindingsverzoek
Overdrachtssnelheid: Gemiddeld verkeer per seconde op het netwerk, wat kan helpen het probleem van overmatig netwerkverkeer dat lange responstijden veroorzaakt uit te sluiten





Vorig:Gebruik lambda-expressies in Linq to Entity om Left Join en Join te implementeren
Volgend:asp.net mvc Routemapping .html achtervoegsel
 Huisbaas| Geplaatst op 14-06-2018 11:16:33 |
 Huisbaas| Geplaatst op 27-05-2019 09:17:09 |
AB -N 800 -C 800  De hyperlink-login is zichtbaar.
-nUitgegeven800verzoeken,-cSimulatie800Gelijktijdigheid, gelijk aan 800 mensen die tegelijk op bezoek zijn, gevolgd door de test-url)
 Huisbaas| Geplaatst op 27-05-2019 09:20:46 |
Je kunt ook een stressconcurrency-test uitvoeren via Fiddler, de Fiddler-tool openen en alle verzoeken blokkeren, zoals weergegeven in de onderstaande figuur:


Selecteer de sessie die je wilt herhalen en druk dan opshift+r, zal verschijnen Hoe vaak herhaal je dit verzoek? (Hoe vaak herhaal je dit verzoek?) )

Voer het aantal keren in dat je het verzoek wilt herhalen, hier vul ik 5 in, fiddle helpt je de link 5 keer te herhalen, zoals te zien is in de onderstaande figuur:



Voor meer tips over het bedienen van een viool, raadpleeg de handleiding:

Fiddler Chinese handleiding .zip downloaden
https://down.itsvse.com/item/12839.html


Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com