Assedio è un test di regressione multi-thread open source e un'utilità di benchmark incentrata principalmente su test di carico e benchmarking. Può eseguire lo stress test di un singolo URL con un numero definito dall'utente di utenti simulati o leggere molti URL in memoria e sollecitarli contemporaneamente. Il programma riporta il numero totale di hit registrati, byte trasferiti, tempo di risposta, concorrenza e stato di ritorno.
Nel seguente tutorial imparerai come installare Siege Benchmarking Tool su Ubuntu 22.04 LTS Jammy Jellyfish, insieme ad alcuni comandi di base per testare i limiti dei tuoi server usando il terminale della riga di comando.
Aggiorna Ubuntu
Prima di procedere con il tutorial, è bene assicurarsi che il proprio sistema sia aggiornato con tutti i pacchetti esistenti.
sudo apt update && sudo apt upgrade
Installa Siege – Metodo APT
Per impostazione predefinita, Ubuntu 22.04 ha Siege nei suoi repository predefiniti. Per installare il software, utilizzare il seguente comando.
sudo apt install siege -y
Quindi, conferma la versione installata.
siege --version
Come configurare l'assedio
Per prima cosa, impara a conoscere i comandi dei comandi e il loro significato.
-V, --version VERSION, prints the version number.
-h, --help HELP, prints this section.
-C, --config CONFIGURATION, show the current config.
-v, --verbose VERBOSE, prints notification to screen.
-q, --quiet QUIET turns verbose off and suppresses output.
-g, --get GET, pull down HTTP headers, and display the transaction. Great for application debugging.
-p, --print PRINT, like GET only it prints the entire page.
-c, --concurrent=NUM CONCURRENT users, default is 10
-r, --reps=NUM REPS, number of times to run the test.
-t, --time=NUMm TIMED testing where "m" is modifier S, M, or H
ex: --time=1H, one hour test.
-d, --delay=NUM Time DELAY, random delay before each request
-b, --benchmark BENCHMARK: no delays between requests.
-i, --internet INTERNET user simulation, hits URLs randomly.
-f, --file=FILE FILE, select a specific URLS FILE.
-R, --rc=FILE RC, specify an siegerc file
-l, --log [=FILE] LOG to FILE. If FILE is not specified, the default is used: /var/log/siege.log
-m, --mark="text" MARK, mark the log file with a string. between .001 and NUM. (NOT COUNTED IN STATS)
-H, --header="text" Add a header to request (can be many)
-A, --user-agent="text" Sets User-Agent in request
-T, --content-type="text" Sets Content-Type in request
-j, --json-output JSON OUTPUT, print final stats to stdout as JSON
--no-parser NO PARSER, turn off the HTML page parser
--no-follow NO FOLLOW, do not follow HTTP redirects
Quindi, la sintassi del comando per l'utilizzo di Siege sarà simile alla seguente.
siege options URL
Configurare Siege è abbastanza semplice, poiché la maggior parte delle impostazioni predefinite va bene. L'opzione principale che dovrai modificare è il percorso del registro.
Innanzitutto, apri il file di configurazione utilizzando nano editor:
sudo nano /etc/siege/siegerc
Trova e decommenta la riga # logfile =$(HOME)/var/ log/siege.log, che dovrebbe trovarsi sulla linea 19.
Esempio:
Quindi, salva il file (CTRL+O) e poi (CTRL+X) esci.
Test del sito web con Siege (test dal vivo)
Ora è il momento di testare il tuo server web, tieni presente che sembrerà praticamente un attacco DDOS ad alcuni firewall e WAF, quindi assicurati di avere l'autorizzazione prima di utilizzare qualsiasi strumento di benchmarking HTTP. Idealmente, sarebbe meglio non usarlo tranne che per i tuoi server.
Per prima cosa, usa siege comandare e testare il valore predefinito tra i lavoratori, che è 25 per un minuto, specificando -t 1 milione come segue.
siege https://www.example.com -t 1m
Questo testerà lo stress con i 25 utenti simultanei predefiniti per 1 minuto. Una volta completato il benchmark, vedrai i risultati.
Esempio:
Nota, in genere, dovresti correre da 5 a 15 minuti, poiché 1 minuto era solo un esempio.
Successivamente, un'altra variabile che potresti voler includere è il numero di lavoratori; ad esempio, -c 100 aggiungerà 100 lavoratori.
siege https://www.example.com -c 100 -t 2m
Nel file di configurazione, puoi modificare l'ora, gli utenti simultanei, i dati e i timestamp se hai un test specifico che esegui quotidianamente sui tuoi siti.
Testa più siti Web con Siege
Un'altra caratteristica utile se sei un amministratore di sistema o gestisci più domini e siti sta usando la funzione di assedio numeroso nel seguente file /etc/siege/urls.txt
Apri il file con nano:
sudo nano /etc/siege/urls.txt
Successivamente, aggiungi gli URL che desideri siano sottoposti a benchmark:
https://www.example.com
https://www.example2.com
http://192.168.50.1
Per salvare il file (CTRL+O) quindi (CTRL+X) per uscire.
Per eseguire lo stress test di più siti web, eseguire quanto segue:
siege -f /etc/siege/urls.txt