Drupalize.Me

 A Drupalize.Me Tutorial

Siege è un utile strumento di test di carico da aggiungere al tuo kit di strumenti di test delle prestazioni. Dal sito:

Siege è un test di carico HTTP e l’utilità di benchmarking. E ‘ stato progettato per consentire agli sviluppatori web di misurare il loro codice sotto costrizione, per vedere come si leverà in piedi fino a caricare su internet. Siege supporta l’autenticazione di base, i cookie, i protocolli HTTP, HTTPS e FTP. Consente all’utente di colpire un server con un numero configurabile di client simulati. Quei client mettono il server “sotto assedio.”

Il test di caricamento è utile per testare le prestazioni del tuo sito e l’infrastruttura su cui viene eseguito. Non c’è niente di peggio che avere una pagina sul tuo sito pubblicata su un sito popolare e guardare il tuo sito sgretolarsi sotto il carico. Siege può simulare l’attività sul tuo sito e puoi quindi utilizzare il tuo sito dal tuo browser come faresti normalmente, mentre siege è in esecuzione e avere davvero un’idea di come il tuo sito risponde sotto carico.

Questo post del blog riguarderà l’installazione di Siege su OS X e Linux e l’esecuzione di un test di carico di base con Siege.

Ipotesi

Questo tutorial presuppone che tu sia a tuo agio nell’usare la riga di comando per emettere comandi di base e avere un sito Web installato sul tuo computer locale che puoi testare.

Installazione di Siege

Scarica

Per prima cosa, vai a https://www.joedog.org/siege-home/ e trova l’URL per un archivio dell’ultima versione dell’applicazione Siege. Al momento della scrittura, questa è la versione 3.1.0 di Siege.

Salva

Ora apri l’app Terminal, salveremo questo archivio nella nostra directory Download.

Su OS X
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
Su Linux
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

Estrarre l’archivio

tar -xvf siege-3.1.0.tar.gz

Passare alla directory di archivio

cd siege-3.1.0

Configurarlo e costruirlo!

./configuremakemake install

Leggere i documenti

Se necessario, consultare le istruzioni per l’installazione complete.

Verifica versione installata

Ottimo, ora possiamo testare che abbiamo siege installato correttamente, verifichiamo la versione che abbiamo installato sul nostro sistema.

siege -VSIEGE 3.1.0

Evviva, abbiamo la versione 3.1.0 di siege installato sul nostro sistema, passiamo ad alcuni test!

Test di carico con Siege

Userò un sito Drupal che ho installato localmente per caricare il test. Per avviare un assedio di base eseguire il seguente comando utilizzando l’URL del sito desiderato (sto usando http://drupal7.local):

siege http://drupal7.local

Questo inizierà siege con le opzioni predefinite, ovvero 15 utenti simultanei che accedono alla pagina indice del tuo sito, fino a quando non interromperai l’assedio, premendo control + c.

Questo fornirà le statistiche siege per il tuo test:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

Interpretare i risultati di un test di carico

Ora, prima di tutto, i miei risultati non sono così impressionanti, dato che lo sto eseguendo su una macchina virtuale a bassa potenza sulla mia macchina locale, se stai testando i siti di produzione, dovresti aspettarti tempi di risposta molto più rapidi.

Terminologia

Transactions è il numero di hit del server. Nell’esempio, 385 transazioni.

Il tempo trascorso è la durata dell’intero test di assedio. Questo viene misurato dal momento in cui l’utente invoca siege fino a quando l’ultimo utente simulato completa le sue transazioni. Mostrato sopra, il test ha richiesto 76,02 secondi per essere completato.

Dati trasferiti è la somma dei dati trasferiti ad ogni utente simulato siege. Esso comprende le informazioni di intestazione così come il contenuto. Poiché include informazioni sull’intestazione, il numero riportato da siege sarà maggiore del numero riportato dal server. In modalità Internet, che colpisce URL casuali in un file di configurazione, questo numero dovrebbe variare da esecuzione a esecuzione.

Il tempo di risposta è il tempo medio impiegato per rispondere alle richieste di ciascun utente simulato.

Transaction rate è il numero medio di transazioni che il server è stato in grado di gestire al secondo, in poche parole: transazioni divise per il tempo trascorso.

Throughput è il numero medio di byte trasferiti ogni secondo dal server a tutti gli utenti simulati.

La concorrenza è il numero medio di connessioni simultanee, un numero che aumenta al diminuire delle prestazioni del server.

Transazioni riuscite è il numero di volte in cui il server ha restituito un codice inferiore a 400. Di conseguenza, i reindirizzamenti sono considerati transazioni riuscite.

Test di più pagine

Per testare più URL possiamo utilizzare un file URL per fornire un elenco di URL da testare durante il nostro assedio. Creare un file di testo chiamato URL.txt, e aggiungi gli URL che vorresti testare (uno per riga), sto creando il mio nella home directory del mio utente in ~/urls.txt

Siege comprende il seguente formato URL:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

Ora è possibile avviare siege e fornire il percorso del file creato, per avviare un test contro tali URL:

siege -f /path/to/your/urls.txt

Modalità Internet

La modalità Internet è un’altra opzione interessante in Siege, in cui ogni URL che un utente colpisce nel test viene randomizzato. Questo imita una situazione di vita reale in cui non è possibile prevedere quale URL una persona visiterà sul tuo sito. L’altra implicazione di questa opzione è che non vi è alcuna garanzia che ogni pagina nel file di testo URL verrà colpita, a causa della randomizzazione.

Per avviare un Assedio in modalità Internet, utilizzare il seguente comando, passando nuovamente nel percorso degli URL.txt:

siege -if /path/to/your/urls.txt

Aumentare il Numero di Utenti Simultanei

Aumentare il numero di utenti simultanei è fatto con il flag c, passando per il numero di concorrenti dell’utente che si desidera testare con:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

utenti Simultanei (richiede argomento): Questa opzione consente all’utente di stress, il server web con NUM numero di utenti simulati. L’importo è limitato solo dalle risorse di calcolo disponibili, ma realisticamente un paio di centinaia di utenti simulati è pari a molte volte che quel numero nelle sessioni utente effettive. Il numero selezionato rappresenta il numero di transazioni gestite dal server. NON rappresenta il numero di sessioni simultanee. Ricorda, gli utenti reali impiegano un po ‘ di tempo per leggere effettivamente la pagina che hanno richiesto.

È anche utile utilizzare il flag-d che consente di scaglionare le transazioni:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siege ha molto più da offrire, e ti esorto a leggere la documentazione per intero per ottenere una comprensione più completa, ma spero che questo tutorial ti porterà sulla buona strada.

Se hai bisogno di Assedio pagine che richiedono l’autenticazione come Utente Drupal, check out questo script di aiuto: https://github.com/msonnabaum/DrupalSiege

Disinstallazione di Assedio e di Pulizia

Se decidi che non vuoi avere Assedio installato nel sistema più a lungo, prima di disinstallare, quindi rimuovere la directory di origine e archivi:

Cambiamento nella cartella dove hai scaricato l’Assedio a:

cd ~/Downloads/siege-3.1.0/make uninstall

Ora è possibile rimuovere la cartella di origine, e archivio:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

Molto rumore per le prestazioni

Se il tuo sito sembra funzionare male mentre è sotto assedio, vorrai scoprire perché! Alcune cose da controllare:

  • Carico del server
  • Hai implementato qualche caching?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.