Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 10851|Risposta: 3

Windows Apache ab web site stress test

[Copiato link]
Pubblicato su 14/06/2018 11:14:30 | | | |
AB è l'abbreviazione di ApacheBench.

Il comando ab crea più thread di accesso concorrente per simulare che più visitatori accedono contemporaneamente a un indirizzo URL. I suoi target di test sono basati su URL, quindi può essere utilizzato per testare sia lo stress di carico Apache, sia altri stress del server web come nginx, lighthttp, tomcat, IIS, ecc.

Il comando ab ha requisiti bassi per il computer che emette il carico e non occupa molta CPU o memoria. Tuttavia, causerà un carico enorme sul server target, e il suo principio è simile agli attacchi CC. Devi anche prestare attenzione ai test e all'uso personale, altrimenti avrai troppo carico in una volta. Può causare l'esaurimento delle risorse al server target e, nei casi gravi, persino un crash.

1. Introduzione all'Apache Bench

ApacheBench è uno strumento di test di stress web che include server Apache, abbreviato in ab. AB è anche uno strumento da riga di comando con bassi requisiti nativi per l'avvio dei payload, e molti thread di accesso concorrente possono essere creati secondo il comando AB, simulando più visitatori che accedono contemporaneamente a un certo indirizzo URL, così da poter essere utilizzato per testare la pressione di carico del server target. In generale, lo strumento AB è piccolo e semplice, rapido da imparare e può fornire gli indicatori di performance di base necessari, ma non ci sono risultati grafici e non possono essere monitorati.



2. Installazione del banco Apache

Prima devi installare il server Apache, scaricare l'indirizzo:Il login del link ipertestuale è visibile.

Il mio computer è un sistema Win10 a 64 bit, quindi ho scaricato "httpd-2.4.33-win64-VC15.zip", link:Il login del link ipertestuale è visibile.

Si consiglia di scaricare l'ultima versione, poiché le versioni più vecchie di ab non supportano il parametro -r.

3. Uso da banco Apache

Comprendere i parametri

Descrizione del parametro:
Format: ab [opzioni] [http://]hostname[:p ort]/path

-n richieste Numero di richieste da eseguire //Il numero totale di richieste avviate in questo test
-c Concorrenza Numero di richieste multiple da effettuare // Numero di richieste (o concorrenza) generate contemporaneamente
-t limite di tempo Secondi al massimo. Aspettare le risposte //Il numero massimo di secondi in cui un test viene eseguito di default.
-r Non uscire al socket errori di ricezione.     Lancia un'eccezione per continuare il compito di prova
-p postfile File contenente dati per POST // Un file contenente dati che devono essere POST, in un formato di file come "p1=1&p2=2". Il metodo d'uso è -p 111.txt

-T content-type Intestazione Content-type per POSTing
L'intestazione di tipo Contenuto utilizzata per i dati POST, come -T "application/x-www-form-urlencoded". (co-p)
-v verbosità Quante informazioni di risoluzione dei problemi stampare
Imposta il livello di dettaglio per visualizzare le informazioni – un valore pari a 4 o superiore mostrerà le informazioni dell'intestazione (header), un valore di 3 o superiore mostrerà un codice di risposta (404, 200, ecc.), e un valore pari o superiore mostrarà avvertimenti e altre informazioni. -V mostra il numero di versione ed esce.
-C attributo Aggiungi cookie, ad esempio -C "c1=1234,c2=2,c3=3" (ripetibile)
-C cookie-name=valore Aggiungi un cookie alla richiesta: linea. La forma tipica è una coppia di parametri name=value. Questo parametro può essere ripetuto, diviso da una virgola.
Consiglio: Puoi usare il principio di implementazione della sessione per passare il parametro JSESSIONID e ottenere la funzione di mantenimento della sessione, come -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8".
-w Stampa i risultati in tabelle HTML // Risultati in uscita in formato tabella HTML. Di default, è una tabella con due colonne su sfondo bianco.
-Uso HEAD invece di GET
-x attributi Stringa da inserire come attributi della tabella
-y attributi Stringa da inserire come attributi tr
-z attributi Stringa da inserire come attributi td o th
-H attributo Aggiungi Header line, ad esempio. 'Accetto-Codifica: gzip' Inserito dopo tutte le normali righe di intestare. (ripetibile)
-Un attributo Aggiungi Autenticazione WWW di base, gli attributi
sono un nome utente e una password separati da due punti.
-P attributo Add Basic Proxy Authentication, gli attributi sono un nome utente e una password separati da due punti.
-X proxy:port Proxyserver e numero di porta da utilizzare
-V Stampa numero di versione ed uscita
-k Usa la funzione HTTP KeepAlive
-d Non mostrare percentili serviti al tavolo.
-S Non mostrare stimi di fiducia e avvisi.
-g nome file Output dati raccolti in file formato gnuplet.
-e file name Output file CSV con percentuali servite
-h Visualizza le informazioni sull'utilizzo (questo messaggio)

Ci sono molti parametri, generalmente possiamo usare -c e -n parametri. Per esempio:


Sblocca il "httpd-2.4.33-win64-VC15.zip", vai su \Apache24\bin e avvia con la riga di comando cmd, come mostrato nella figura sottostante:



SSL non compilato; nessun supporto https: SSL non è compilato in; Non c'è supporto per https, il che significa che il sito web non supporta https.

Risultati del test:

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com
SSL non compilato; Nessun supporto HTTPS

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/
Questa è ApacheBench, Versione 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,Il login del link ipertestuale è visibile.
Concesso in licenza alla Apache Software Foundation,Il login del link ipertestuale è visibile.

Benchmarkingwww.itsvse.com(sii paziente)
Completato 100 richieste
Completato 200 richieste
Completate 300 richieste
Completato 400 richieste
Completato 500 richieste
Completato 600 richieste
Completato 700 richieste
800 richieste completate
Completato 900 richieste
Completato 1000 richieste
Completato 1000 richieste


Software server:
Nome host del server:        www.itsvse.com
Porta server: 80

Percorso del documento: /
Lunghezza del documento: 178 byte

Livello di convivenza: 10
Tempo impiegato per i test: 44,916 secondi
Richieste complete: 1000
Richieste fallite: 0
Risposte non 2xx: 1000
Totale trasferito: 349000 byte
HTML trasferito: 178000 byte
Richieste al secondo: 22,26 [#/sec] (media)
Tempo per richiesta: 449.164 [ms] (media)
Tempo per richiesta: 44,916 [ms] (media, su tutte le richieste concorrenti)
Tasso di trasferimento: 7,59 [Kbytes/sec] ricevuti

Tempo di Connessione (ms)
              Media[+/-sd] Mediana massima
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

Percentuale delle richieste servite entro un certo periodo di tempo (ms)
  50%    397
  66%    415
  75%    439
  80%    461
  90%    535
  95%    623
  98%   1563
  99%   1784
100% 1830 (richiesta più lunga)

Analisi dei parametri:

Percorso del documento: pagina di test
Lunghezza del documento: La dimensione della pagina
Livello di concorrenza: numero di concorrenti testate contemporaneamente
Tempo impiegato per i test: La durata dell'intero test
Richieste complete: Il numero di richieste completate
Richieste fallite: Il numero di richieste fallite
Errori di scrittura: 0
Totale trasferito: la quantità di rete trasferita durante tutto il processo
HTML trasferito: La quantità di contenuto HTML trasferito durante il processo
Richieste al secondo: una delle metriche più importanti, equivalente alle transazioni al secondo in LR e media tra parentesi, indica che si tratta di una media
Tempo per richiesta: Le due metriche più importanti, equivalenti al tempo medio di risposta delle transazioni in LR, la media tra parentesi indicano che si tratta di una media
Tempo per richiesta: La media del tempo effettivo di esecuzione per ogni richiesta di connessione
Tasso di trasferimento: traffico medio al secondo sulla rete, che può aiutare a escludere il problema di un traffico di rete eccessivo che causa lunghi tempi di risposta





Precedente:Usa espressioni lambda in Linq to Entity per implementare Left Join e Join
Prossimo:asp.net mvc Mappatura delle rotte .html suffisso
 Padrone di casa| Pubblicato su 14/06/2018 11:16:33 |
 Padrone di casa| Pubblicato su 27/05/2019 09:17:09 |
ab -n 800 -c 800  Il login del link ipertestuale è visibile.
-nRilasciato800richieste,-cSimulazione800Concorrenza, equivalente a 800 visitatori contemporaneamente, seguita dall'URL del test)
 Padrone di casa| Pubblicato su 27/05/2019 09:20:46 |
Puoi anche eseguire un test di concorrenza sotto stress tramite Fiddler, aprire lo strumento Fiddler e bloccare tutte le richieste, come mostrato nella figura sottostante:


Seleziona la sessione che vuoi ripetere e poi premishift+r, apparirà Ripeti questa richiesta quante volte? (Quante volte ripeti questa richiesta?) )

Inserisci il numero di volte che vuoi ripetere la richiesta, qui ho compilato 5, fiddle ti aiuterà a ripetere il link 5 volte, come mostrato nella figura qui sotto:



Per ulteriori consigli su come usare il violino, si prega di consultare il manuale:

Manuale cinese .zip download di Fiddler
https://down.itsvse.com/item/12839.html


Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com