Come effettuare un load test del server con Siege (2)

Come effettuare un load test del server con Siege (2)

Nel corso del post precedente, ti ho già spiegato cosa sia Siege e ti ho mostrato come puoi installarlo senza difficoltà sul tuo sistema operativo Linux. Ora, sei pronto per imparare i fondamenti per mettere alla prova le performance dei tuoi server.

Impostare e lanciare il load test con Siege

Per effettuare un benchmark URL, dobbiamo usare Siege con i seguenti parametri:

  • -b, rappresenta l’opzione di benchmark (le richieste inviate al Web server per ogni utente simulato non avranno ritardo fra loro);
  • -t, rappresenta il periodo di test, indicato dal formato nS, nM o nH, dove n è un numero a piacere, mentre S indica i secondi, M i minuti e H le ore. Ad esempio, per indicare che il benchmark deve durare due ore, possiamo scrivere: -t 7200S, -t 120M o -t 2H

In breve, dovrai lanciare un comando del tipo:

siege b t 60s URL

Al termine dell’esecuzione, otterrai una schermata come quella seguente e potrai valutare numero di transazioni, quantitativo di dati trasferiti, tempo di risposta, throughput, numero di richieste fallite e tempo di transazione più lungo e più corto:

Come effettuare un load test del proprio server con Siege – II parte

Per effettuare un load test vero e proprio possiamo usare il comando siege seguito da:

  • -c, per indicare il numero di utenti concorrenti simulati;
  • -d, per indicare l’intervallo di tempo random fra 0 e il numero indicato che ogni utente concorrente simulato passerà in quiescenza, cioè senza svolgere altre richieste;
  • -t, per indicare la durata del test, con notazione uguale a quella già definita per il benchmark;
  • -r, per indicare il numero di volte che il test deve essere eseguito.

In breve, per eseguire un solo load test su una URL con 50 utenti, per una durata di 30 secondi e un ritardo nelle richieste massimo di 10 secondi, devi usare un comando tipo:

siege c 50 d 10 t 30S r 1 URL

e otterrai un report del genere:

Come effettuare un load test del proprio server con Siege – II parte

Attenzione, perché in passato l’uso dei parametri –t e –r ha dato qualche noia agli utenti, risolvibile omettendoli dal comando.

Siege e gli URL multipli

Come ti ho già anticipato, una delle caratteristiche di Siege è la possibilità di verificare contemporaneamente più URL, simulando così un modo di agire sul web server che è molto simile alla realtà e al modo con cui gli utenti si collegano a internet.

Per usare Siege con una lista di URL, devi per prima cosa preparare un file TXT contenente gli indirizzi URL da porre sotto “assedio”. Ipotizzando che chiamerai questo file listaURL.txt, dovrai poi ricorrere a un comando Siege di questo tipo:

siege c 50 d 10 -i -f listaURL.txt

dove il parametro:

  • -i, indica a Siege di selezionare in modo casuale gli URL da quelli contenuti nella lista;
  • -f, indica a Siege il file TXT da cui recuperare l’elenco URL.

Siege e i siti con autenticazione

Alcune applicazioni online non possono essere direttamente sottoposte a test se non avviene un’autenticazione dell’utente tramite username e password. Per richiedere a Siege di simulare un evento di login, puoi procedere modificando il file contenente la lista di URL e indicando per ogni riga non solo l’URL da sottoporre a load test, ma anche i dati di login, secondo la seguente notazione: http://esempio.it/utenti/login POST login=nomeutente&password=chiavediaccesso.

Allo stesso modo, puoi decidere di modificare il file di configurazione di Siege (siegerc), che puoi generare usando il comando:

siege.config

e utilizzando le sezioni di Login URL e FTP login per specificare i dati di accesso, secondo la seguente notazione esemplificativa:

login-url = http://esempio.it/utenti/login POST login=user1&password=password1
login-url = http:// esempio.it/utenti/login POST login=user2&password=password2

Una volta definite il file di configurazione, per usarlo nei load test, bisogna richiamarlo con il parametro –C, nel seguente modo:

siege C .siege/siegerc c 50 d 10 -i -f listaURL.txt