Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 10851|Răspunde: 3

Windows Apache AB test de stres pe site-ul web

[Copiază linkul]
Postat pe 14.06.2018 11:14:30 | | | |
AB este o abreviere pentru ApacheBench.

Comanda ab creează mai multe fire de acces simultane pentru a simula mai mulți vizitatori care accesează simultan o adresă URL. Țintele sale de testare sunt bazate pe URL-uri, astfel încât poate fi folosit pentru a testa atât stresul încărcării Apache, cât și alte stresuri ale serverului web, cum ar fi nginx, lighthttp, tomcat, IIS etc.

Comanda ab are cerințe scăzute pentru calculatorul care emite sarcina și nu consumă mult CPU sau memorie. Totuși, va cauza o încărcare uriașă pe serverul țintă, iar principiul său este similar cu atacurile CC. De asemenea, trebuie să fii atent la testare și la folosirea lui, altfel vei avea prea multă încărcătură deodată. Acest lucru poate determina serverul țintă să rămână fără resurse și, în cazuri severe, chiar să provoace o cădere.

1. Introducere în Apache Bench

ApacheBench este un instrument web de testare a stresului care vine cu servere Apache, prescurtat ab. AB este, de asemenea, un instrument de linie de comandă cu cerințe native scăzute pentru inițierea sarcinilor utile, iar multe fire de acces concurente pot fi create conform comenzii AB, simulând mai mulți vizitatori care accesează simultan o anumită adresă URL, astfel încât să poată fi folosit pentru a testa presiunea de încărcare a serverului țintă. În general, instrumentul AB este mic și simplu, se învață rapid și poate oferi indicatorii de performanță de bază de care ai nevoie, dar nu există rezultate grafice și nu poate fi monitorizat.



2. Instalarea băncii Apache

Mai întâi, trebuie să instalezi serverul Apache, să descarci adresa:Autentificarea cu hyperlink este vizibilă.

Calculatorul meu este un sistem Win10 pe 64 de biți, așa că am descărcat "httpd-2.4.33-win64-VC15.zip"., link:Autentificarea cu hyperlink este vizibilă.

Se recomandă descărcarea celei mai recente versiuni, deoarece versiunile mai vechi ale ab-ului nu suportă parametrul -r.

3. Utilizarea la Apache Bench

Înțelege parametrii

Descrierea parametrului:
Format: ab [opțiuni] [http://]nume gazdă[:p ort]/cale

-n cereri Numărul de cereri de efectuat // Numărul total de cereri inițiate în acest test
-c concurență Număr de mai multe cereri pentru a face // Numărul de cereri (sau concurență) generate simultan
-t Limită de timp Secunde până la maxim. Așteptați răspunsuri //Numărul maxim de secunde în care un test este efectuat implicit.
-r Erori de a nu ieși la primirea socket-ului.     Aruncă o excepție pentru a continua sarcina de test
-p postfile File care conține date către POST // Un fișier care conține date care trebuie să fie POST, într-un format de fișier precum "p1=1&p2=2". Metoda de utilizare este -p 111.txt

-T conținut-type Antet Content-type pentru POSTing
Antetul Content-type folosit pentru datele POST, cum ar fi -T "application/x-www-form-urlencoded". (co-p)
-v verbozitate Câtă informație de depanare trebuie tipărită
Setează nivelul de detaliu pentru a afișa informațiile – o valoare de 4 sau mai mare va arăta informații de antet, o valoare de 3 sau mai mare va afișa un cod de răspuns (404, 200 etc.), iar o valoare de 2 sau mai mare va afișa avertismente și alte informații. -V afișează numărul versiunii și iese.
-Atributul C Adaugă cookie, de exemplu. -C "c1=1234,c2=2,c3=3" (repetabil)
-C cookie-name=value Adaugă un cookie la linia request:. Forma tipică este o pereche de parametri nume=valoare. Acest parametru poate fi repetat, împărțit la virgulă.
Sfat: Poți folosi principiul implementării sesiunii pentru a trece parametrul JSESSIONID și a obține funcția de menținere a sesiunii, cum ar fi -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8".
-w Tipărește rezultatele în tabele HTML // Rezultate de ieșire în format de tabel HTML. În mod implicit, este un tabel cu două coloane lățime pe un fundal alb.
-Folosesc HEAD în loc de GET
-x atribute Șir de inserat ca atribute de tabel
-y atribute String de inserat ca atribute tr
-z atribute String to insert ca atribute td sau th
-Atributul H Adaugă o linie de titlu arbitrară, de exemplu. 'Accept-Encoding: gzip' Introdus după toate liniile normale de antet. (repetabil)
-Un atribut Adaugă Autentificare WWW de bază, atributele
sunt nume de utilizator și parolă separate de două puncte.
-Atributul P Adaugă Autentificare Proxy de bază, atributele sunt un nume de utilizator și parolă separate de două puncte.
-X proxy:port Proxyserver și numărul portului de utilizat
-V Imprimă numărul versiunii și ieșirea
-k Folosește funcția HTTP KeepAlive
-d Nu arătați percentile servite la masă.
-S Nu arăta estimatoare de încredere și avertismente.
-g Nume fișier Trimite datele colectate în fișierul de format gnuplet.
-e File name Scoate fișierul CSV cu procentele servite
-h Afișează informații despre utilizarea (acest mesaj)

Există mulți parametri, în general putem folosi parametrii -c și -n. De exemplu:


Deblochează "httpd-2.4.33-win64-VC15.zip", mergi la \Apache24\bin și pornește-l cu linia de comandă cmd, așa cum se arată în figura de mai jos:



SSL necompilat; fără suport HTTPS: SSL nu este compilat în; Nu există suport pentru https, ceea ce înseamnă că site-ul nu suportă https.

Rezultatele testelor:

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com
SSL necompilat; Fără suport HTTPS

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/
Aceasta este ApacheBench, Versiunea 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,Autentificarea cu hyperlink este vizibilă.
Licențiat către The Apache Software Foundation,Autentificarea cu hyperlink este vizibilă.

Benchmarkingwww.itsvse.com(ai răbdare)
Au finalizat 100 de cereri
200 de cereri finalizate
300 de cereri finalizate
400 de cereri finalizate
500 de cereri finalizate
600 de cereri finalizate
700 de cereri finalizate
800 de cereri finalizate
900 de cereri finalizate
1000 de cereri finalizate
Am terminat 1000 de cereri


Software server:
Numele gazdei serverului:        www.itsvse.com
Port server: 80

Traseul documentului: /
Lungimea documentului: 178 octeți

Nivel de concurență: 10
Timpul necesar pentru teste: 44,916 secunde
Cereri complete: 1000
Cereri eșuate: 0
Răspunsuri non-2xx: 1000
Total transferați: 349000 octeți
HTML transferat: 178000 octeți
Cereri pe secundă: 22,26 [#/sec] (medie)
Timp pe cerere: 449.164 [ms] (medie)
Timp per cerere: 44.916 [ms] (medie, pentru toate cererile concurente)
Rată de transfer: 7,59 [Kbytes/sec] primită

Timpi de conexiune (ms)
              media minimă[+/-sd] mediana maximă
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

Procentul solicitărilor deservite într-un anumit interval de timp (ms)
  50%    397
  66%    415
  75%    439
  80%    461
  90%    535
  95%    623
  98%   1563
  99%   1784
100% 1830 (cea mai lungă cerere)

Analiza parametrilor:

Traseul documentului: pagina de testare
Lungimea documentului: Dimensiunea paginii
Nivelul concurenței: Numărul concurențelor testate simultan
Timpul necesar pentru teste: durata întregului test
Cereri complete: Numărul de cereri finalizate
Cereri eșuate: Numărul de cereri eșuate
Erori de scriere: 0
Total transferat: Cantitatea de rețea transferată pe parcursul procesului
HTML transferat: Cantitatea de conținut HTML transferat pe parcursul procesului
Cereri pe secundă: Unul dintre cei mai importanți indicatori, echivalent cu tranzacțiile pe secundă în LR, și media între paranteze, indică faptul că aceasta este o medie
Timp per cerere: Cei doi indicatori cei mai importanți, echivalentul timpului mediu de răspuns al tranzacțiilor în LR, media între paranteze indică faptul că aceasta este o medie
Timpul per cerere: Media timpului real de rulare pentru fiecare cerere de conexiune
Rata de transfer: Traficul mediu pe secundă pe rețea, ceea ce poate ajuta la excluderea problemei traficului excesiv de rețea care cauzează timpi lungi de răspuns





Precedent:Folosește expresii lambda în Linq to Entity pentru a implementa Left Join și Join
Următor:asp.net mvc Sufixul .html cartografierea rutei
 Proprietarul| Postat pe 14.06.2018 11:16:33 |
 Proprietarul| Postat pe 27.05.2019 09:17:09 |
ab -n 800 -c 800  Autentificarea cu hyperlink este vizibilă.
-nEmis800cereri,-cSimulare800Concurență, echivalentul a 800 de persoane care vizitează în același timp, urmat de URL-ul testului)
 Proprietarul| Postat pe 27.05.2019 09:20:46 |
De asemenea, poți efectua un test de concurență de stres prin Fiddler, poți deschide instrumentul Fiddler și bloca toate cererile, așa cum se arată în figura de mai jos:


Selectează sesiunea pe care vrei să o repeți solicitată, apoi apasăShift+r, va apărea Repetă această cerere de câte ori? (De câte ori repeți această cerere?) )

Introdu numărul de ori de când vrei să repeți cererea, aici am completat 5, fiddle te va ajuta să repeți linkul de 5 ori, așa cum se vede în figura de mai jos:



Pentru mai multe sfaturi despre cum să folosești vioara, te rugăm să consulți manualul:

Manual chinezesc Fiddler .zip descărcare
https://down.itsvse.com/item/12839.html


Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com