Ricerca nel sito web

Caricare i server Web di test con lo strumento di benchmarking Siege


Sapere quanto traffico il tuo server web può gestire quando è sotto stress è essenziale per pianificare la crescita futura del tuo sito web o della tua applicazione. Utilizzando lo strumento chiamato siege, puoi eseguire un test di carico sul tuo server e vedere come si comporta il tuo sistema in diverse circostanze.

Puoi utilizzare siege per valutare la quantità di dati trasferiti, il tempo di risposta, il tasso di transazione, la velocità effettiva, la concorrenza e quante volte il server ha restituito risposte. Lo strumento ha tre modalità in cui può funzionare: regressione, simulazione Internet e forza bruta.

Importante: Siege deve essere eseguito solo su server di tua proprietà o su quelli su cui hai l'autorizzazione esplicita per testare. In alcuni paesi, utilizzare l'assedio su siti Web non autorizzati può essere considerato un crimine.

Installazione dell'utilità di test di carico HTTP Siege in Linux

Siege è multipiattaforma e può essere installato nelle distribuzioni Ubuntu/Debian e CentOS/RHEL utilizzando i seguenti comandi.

Per installare Siege sotto Debin/Ubuntu, puoi eseguire:

sudo apt install siege

Per CentOS/RHEL, devi installare e abilitare il repository per installare siege con:

yum install epel-release
yum install siege

In alternativa, puoi creare Siege dal codice sorgente. A tale scopo sarà necessario che siano installati build-essential e i pacchetti di sviluppo.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Quindi puoi scaricare Siege utilizzando il comando wget e installarlo dai sorgenti come mostrato.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Configurazione dell'utilità di test di carico HTTP Siege in Linux

Una volta completata l'installazione, puoi modificare il file di configurazione di siege. Si trova in /etc/siege/siegerc. Nel caso in cui tu abbia deciso di compilare il pacchetto dai sorgenti, dovrai eseguire:

sudo siege.config

Questo genererà il file siege.conf che si trova nella home del tuo utente ~/.siege/siege.conf.

Il contenuto del file dovrebbe assomigliare a questo. Tieni presente che ho decommentato le direttive logfile e time:

cat siegerc |egrep -v "^$|#"
Uscita del campione
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Con la configurazione attuale, siege imiterà 25 utenti simultanei in 1 minuto.

Ora sei pronto per eseguire il tuo assedio.

Testare il caricamento del sito web con l'utilità di benchmarking Siege

Eseguire siege è abbastanza semplice, devi solo specificare il sito web che desideri testare in questo modo:

siege example.com

Se la disponibilità rimane al 100% e non ci sono connessioni interrotte, il tuo sistema ha funzionato bene e non si sono verificati problemi. Dovresti anche tenere d'occhio il tempo di risposta.

Esegui l'assedio contro più siti web

Puoi testare più URL impostando assedio per leggerli dal file. Puoi descrivere gli URL in /usr/local/etc/urls.txt in questo modo:

Ora per dire a siege di testare gli URL dal file, usa l'opzione -f in questo modo:

siege -f /usr/local/etc/urls.txt

Puoi anche utilizzare le opzioni della riga di comando, se desideri provare impostazioni diverse da quelle descritte nel file di configurazione.

  • -C – specifica il tuo file di configurazione.
  • -q – sopprime l'output di assedio.
  • -g – GET, abbassa le intestazioni HTTP e visualizza la transazione. Utile per il debug.
  • -c – il numero di utenti simultanei, il valore predefinito è 10.
  • -r – quante volte eseguire il test.
  • -t – quanto tempo per eseguire il test. È possibile specificare S, M o H ex: –time=10S per 10 secondi.
  • -d – ritardo casuale prima di ogni richiesta.
  • -b – nessun ritardo tra le richieste.
  • -i – simulazione dell'utente. Utilizza per raggiungere URL casuali.
  • -f – testa gli URL dal file specificato.
  • -l – file di registro.
  • -H – Aggiungi un'intestazione alla richiesta.
  • -A – specifica un agente utente.
  • -T – Imposta il tipo di contenuto nella richiesta.
  • --no-parser – NO PARSER, disattiva il parser della pagina HTML.
  • --no-follow – non segue i reindirizzamenti HTTP.
Conclusione

Siege è un potente strumento per misurare l'affidabilità del sistema in caso di carico elevato. Può essere utilizzato dagli sviluppatori web per testare il proprio codice quando il sito è sotto pressione. Dovresti sempre eseguire i test con cautela poiché il server testato potrebbe diventare inaccessibile durante la valutazione.