Apache wordpress stress test
Nei giorni precedenti ho fatto diversi stress test ad apache con una macchina virtuale uguale al mio vecchio virtual private e server e con la mia nuova configurazione hardware. Per esegure le prove pensavo di dover installare chissà quale tool o software e invece grazie a linux ed un semplice comando sono riuscito a fare tutti i test in maniera davvero semplice e sopratutto veloce. Ho scoperto che gli stress test per apache sono davvero un’attività fondamentale per valutare la stabilità e il comportamento di un server in situazioni di carico pesante. All’inizio infatti non capivo perchè il mio vps continuasse a sbombare e a consumare tutta quella ram, poi ho fatto un test su una mia macchina virtuale con la stessa configurazione hardware e ho capito il motivo di tutti quei blocchi.. grazie allo stress test su apache mi sono accorto che ogni pagina del blog caricata consuma mediamente 6.5 mb di ram solo di script php, poi bisogna aggiungere la memoria e la cpu consumata dalle richieste sql.. in pratica un sacco di richieste hardware…
Il comando utilizzato per eseguire i test e che credo si trovi di default in tutte le distribuzioni linux con su installato apache2 è questo: “ab”
Che banalmente sta per a=apache, b=benchamark se lanciate il comando “man ab” trovate tutte le istruzioni e le opzioni per utilizzare il comando ab.
Ovviamente ecco alcune stringhe di comando preconfezionate per testare il server:
$ ab -n 10 -c 10 http://www.yourdomain.com/index.html
Questo comando simula 10 user concorrenti e 10 richieste contemporanee del file index.html.
Io la prima volta ho settato la mia macchina virtuale con 512 mb di ram poi ho lanciato questo comando con 30 user e 30 richieste il risultato è stato il bocco totale della macchina… lì ho capito perchè il mio vps server si incasinava sempre..
Poi ho riprovato con un giga di ram,la situazione non è cambiata molto, la vm non si è bloccata ma poco ci è mancato.. alchè lì ho capito che dovevo disattivare un po’ di plugin e tentare di alleggerire il carico sul server..
Lo stesso comando di prima può essere lanciato con queste opzioni:
$ab -t 60 -c 10 http://www.yourdomain.com/index.html
In pratica qui ci sono 10 user concorrenti che fanno il maggior numero di richieste conccorrenti per 60 secondi.. questo è davvero un bel test.. se non vi si pianta il server e riuscite ancora a controllarlo e a navigare tranquilli allora avete davvero un bel server..
Il risultato di tutti questi test ovviamente è un dettaglio del tempo di risposta medio in millisecondi per ogni risposta e tanti altri dati…
Ovviamente vi giro un bel link dove sono spiegate meglio tutte queste opzioni:
http://blog.olenepal.org/index.php/archives/300
Poi vi consiglio anche questo:
- durante gli stress test verificate l’uso della memoria,potete utilizzare questo comando: “vmstat -S M 1″ che vi mostrerà ogni secondo quanta memoria ram libera c’è nel vostro sistema.
- Monitorate l’uso della cpu con il comando top, banalmente i programmi che consumano più cpu sono i primi della lista..
Se utilizzate wordpress come piattaforma di blog, potete, anzi dovete aggiungere queste righe di codice in fondo nel file footer.php del vostro tema per capire quanta memoria viene utilizzata e il numero di query richieste:
- <?php echo get_num_queries(); ?> Questo pezzo di codice vi dice il numero di query richieste per completare il caricamento della pagina. Ovviamente meno ce ne sono meglio è…
- <?php timer_stop(1); ?> questo invece vi dice il numero di secondi necessari per generare la pagina.
- <?php echo round(memory_get_usage()/1024/1024, 2)?> questo come potete intuire vi dice quanta memoria ram è stata necessaria per l’esecuzione del codice php e quindi per creare la pagina…
Bene dire che vi ho fornito qualche utile strumento di analisi per capire se il vostro tema/blog o altro stà consumando il giusto quantitativo di risorse hardware.. se conoscete qualche altro trucchetto o tecnica segnalatemela nei commenti!!
Vota l’articolo



Loading...























October 13th, 2009 at 3:35 pm
Ho inserito il codice che hai suggerito sul mio blog:
http://matteoc.altervista.org
e devo dire che è veramente comodo.
June 21st, 2009 at 2:04 pm
[...] http://www.croccobiscotto.it/linux/apache-wordpress-stress-test/ [...]