X

Metti sotto stress dei siti web da Mac tramite Siege

Pubblicato da il giorno 16 novembre 2011

Tranquillo, non parleremo di attacchi DoS o comandi per buttare a terra dei siti web, in quanto queste sono operazioni ben diverse e che si svolgono in altro modo. In questo articolo infatti parleremo di Siege, uno strumento per Mac (i procedimenti sono comunque molto simili a Linux) che ci consente di simulare un bombardamento di connessioni (attraverso protocolli HTTP, HTTPS oppure ) ad un sito web. Si tratta di un vero e proprio test utile ai web developer, ai web master e ai gestori di sistemi, che serve dunque per verificare come un sito web reagisce se messo “sotto stress”.

Cosa fa Siege

Siege è uno strumento per Mac di benchmarking, ovvero uno strumento che ci permette di misurare il codice di un sito web se messo sotto stress. In poche parole questo strumento ci permette di fare tantissime richieste simultanee verso un sito web, mettendolo quindi sotto stress per vedere come reagisce. Alla fine dei test il programma di darà tutte le statistiche. Infatti una volta messo sotto stress non solo vedremo come ha reagito il sito, ma avremo anche dei dati alla mano che potremmo utilizzare per risolvere problemi o per migliorare le performance.

Come installarlo

Siege, come tanti programmi del genere, viene installato ed eseguito tramite terminale.  Anche se non hai mai usato il terminale scoprirai che sarà piuttosto semplice installare ed eseguire Siege. Quindi apri il terminale di Mac (puoi aprirlo velocemente cliccando sulla lente di ingrandimento di spotlight in alto a destra e scrivendo terminale, quindi premere Invio) e inserisci questa linea di comando, che scaricherà il pacchetto di Siege:


curl -C - -O http://www.joedog.org/pub/siege/siege-latest.tar.gz

Quindi procedi con quest’altro comando, che scompatta il pacchetto scaricato:


tar -xvf siege-latest.tar.gz

Dopodiché entriamo nella directory in cui abbiamo appena estratto i files scrivendo quest’altro comando:


cd siege-2.70/

Ora bisogna installare Siege. Dato che io ho avuto problemi durante l’installazione sarebbe meglio aggiungere dei permessi di scrittura per alcune cartelle di Mac. Quindi nel Finder vai nel menu Vai>Vai nella cartella… e scrivi /usr/ , ti si aprirà una cartella con altre cartelle, seleziona la cartella local e apri le informazioni della cartella col tasto destro (Ctrl+Click su Mac) e poi Ottieni Informazioni. Nella finestrella che ti si aprirà se bloccato sblocca il lucchetto in basso a destra. Quindi per ogni utente (anche everyone) assegna permessi di lettura e scrittura, clicca sull’icona della rotellina e applica agli elementi inclusi.

Ora puoi chiudere la finestrella e ritornare al terminale. Per l’installazione dovrai i seguenti tre comandi uno alla volta.


./configure

make

make install

Se tutto è andato a buon fine (io durante la prima installazione mi ero incasinato nei permessi, poi alla fine è funzionato tutto) allora basterà eseguire il seguente comando per entrare in Siege (si lo ammetto, dicendo così mi sembra che stiamo entrando nel portale degli agenti CIA):


siege

Ci serve un’ultimo comando prima di cominciare i test, ed è quello per configurare Siege:


siege.config

Eseguire i test

Una volta entrato in Siege (con il solito comando “siege”), potrai incominciare i test, trovi un bel manuale in questa pagina. Per ogni test dovrai incominciare con siege, poi a seguire tutti i comandi che vuoi e dovrai terminare con l’URL. Ad esempio se voglio inviare ad un sito web 10 richieste con 10 diverse connessioni (come se da 10 computer mi connettessi a Skimbu per 10 volte nel giro di pochissimi secondi) allora dovrò eseguire il comando:


siege -c 10 -r 10 http://www.skimbu.it

Inizia la battaglia secondo Siege…

Alla fine di tutte le righe blu che rappresentano ciascuna richiesta avrai tutte le statistiche elaborate da Siege dopo la battaglia, ecco le mie:


Transactions: 100 hits

Availability: 100.00 %

Elapsed time: 10.71 secs

Data transferred: 2.39 MB

Response time: 0.35 secs

Transaction rate: 9.34 trans/sec

Throughput: 0.22 MB/sec

Concurrency: 3.24

Successful transactions: 100

Failed transactions: 0

Longest transaction: 5.51

Shortest transaction: 0.01

Da qui posso capire che il server di Skimbu è in buone condizioni, dal momento che esegue oltre 5 transazioni al secondo (ho fatto vari test ed in altri test è arrivato persino a 70 transazioni al secondo), che ha una media di 0.01 secondi per transazione (questo l’ho elaborato vedendo le 100 trasnazioni), che trasferisce 220 kb al secondo e tanti altri dati… In realtà alcune transazioni, come noterai, hanno impiegato più di un secondo, ma i seguenti test eseguiti hanno dato esito migliore, non so se attribuire questa differenza alla cache o a qualche altro motivo. In sintesi, esegui più test e fai la media dei risultati ottenuti per avere un risultato preciso e completo.

Risoluzione problemi

Prima abbiamo visto che Siege potrebbe avere difficoltà a creare dei file perché non ha i permessi. Se nonostante le correzioni eseguite non permettessero l’installazione di Siege, oppure entrando nella cartella /usr/ noti che non esiste la cartella local, allora esegui i seguenti passaggi:

  • Nella cartella /usr/ crea la cartella local
  • Dentro la cartella local crea la cartella bin e la cartella etc se non sono già presenti
  • Dentro la cartella etc crea la cartella siegerc
  • Torna indietro a /usr/ e assegna i permessi a local e tutti gli elementi inclusi, come detto nel passaggio precedente.
Dopo questi cambiamenti dovresti poter installare tranquillamente Siege. Anche se ti restituisce degli errori procedi con i comandi. In un Mac in cui l’ho installato ad esempio dopo tutti i permessi assegnati anche dopo il comando make e numerosi errori ricevuti sono andato avanti e ha funzionato comunque.

Conclusioni

Un bravo sistemista, web developer e web master deve avere un tool come questo per testare la portata dei propri siti web e dei propri server. Siege si rivela affidabile e completo. Insomma, un must-have per tutti coloro che lavorano per il web ma anche un’interessante strumento per chi si vuole divertire a provare a bombardare di connessioni dei siti web.

Ovviamente Skimbu non si assume nessuna responsabilità per gli utilizzi che verranno fatti dell’applicazione. Ricordo che con questa applicazione si rischia solo di rallentare per qualche millisecondo o secondo quei siti web con un firewall mal configurato o comunque senza un hosting solido. I famosi attacchi DOS sono tutt’altra roba, che vengono fatti con più computer.

, 872 articoli pubblicati

Fin da quando ho 7 anni sviluppo siti web, amo l'informatica, la fotografia, la scienza e l'economia. Credo che il segreto del successo stia nel fare cose che altri non fanno. Nel 2008 ho fondato Skimbu, a cui ho voluto fin da subito dare una precisa immagine attraverso una grafica semplice, bella e unica e attraverso articoli di qualità e anch'essi unici. Continuerò Skimbu fino a che avrò voglia, con la passione e la voglia di far apprendere alla gente che esiste qualcosa di più meraviglioso che la televisione o che le solite dichiarazioni dei politici.

Visita il sito web di questo autore

Condividi l'articolo!

  • http://andreagerm.altervista.org Andrea Germanà

    Sarebbe una specie di attacco DDOS ?

    • http://www.skimbu.it Alberto Ziveri

      Esatto! 

    • http://www.skimbu.it Alberto Ziveri

      O anche detto DoS, chiariamoci.

  • Dattoz

    A me quando faccio make mi dice “command not found”. 

    • http://www.skimbu.it Alberto Ziveri

      Problemi di permessi ;) guarda bene la risoluzione dei problemi. Oppure prova ad andare avanti.

  • http://www.sitiinternetonline.com Siti Internet Online

    Molto Interessante. Grazie

    • http://www.skimbu.it Alberto Ziveri

      Di niente ;)

  • Pingback: Con Siege (e con un Mac) mettete alla prova il vostro sito web simulando condizioni di stress - SlideToMac

  • Dattoz

    Il comando Make funziona solo con Xcode installato, io non lo avevo installato perché avevo reinstallato Lion da 0