Benchmark sur un serveur Apache
Après avoir mis en place en serveur Apache, on a souvent envie de savoir si ce dernier sera capable de tenir la route, lorsqu'il sera soumis à plusieurs milliers de requêtes par jour.
Pour tester cette résistance, il existe bien sur une multitude outils dédiés, comme siege, que je vais vous présenter. Si j'ai choisi ce dernier, c'est parce que après en avoir testé plein, c'est celui que j'ai trouvé le plus simple et le plus pratique à utiliser.
1. Installation
Après avoir récupéré le code source sur le site officiel, entrez les commandes suivante :
tar zxvf siege-latest.tar.gz
cd siege
./configure
make
make install
2. Utilisation
La première étape consiste à créer le fichier de configuration. Pour cela, il suffit de lancer la commande siege.config, dans son terminal.
Ensuite, on pourra tester son serveur web avec quelque chose comme çà :
siege -d1 -r300 -c100 http://192.xx.xx.xx/
Ici les options signifie :
- -c : nombre d'utilisateurs
- -r : nombre de connexion par chaque utilisateur
- -d : délai en seconde de sleep
Ainsi, en lançant siege avec de tels paramètres, je simule la connexion de 100 utilisateurs, exécutant chacun 300 requêtes, espacé de une seconde. Ce qui fait à peu près 30 000 requêtes.
On verra ensuite un résumé s'afficher dans le terminal :
$ siege -d1 -r300 -c100 http://192.168.0.175/
** siege 2.64
** Preparing 100 concurrent users for battle.
The server is now under siege.. done.
Transactions: 30000 hits
Availability: 100.00 %
Elapsed time: 175.05 secs
Data transferred: 57.39 MB
Response time: 0.00 secs
Transaction rate: 171.38 trans/sec
Throughput: 0.33 MB/sec
Concurrency: 0.55
Successful transactions: 30000
Failed transactions: 0
Longest transaction: 0.24
Shortest transaction: 0.00
Libre à vous ensuite d'analyser les résultats et d'améliorer la configuration de votre serveur Apache.
Site officiel : siege
Autres logiciels : ApacheBench Httperf Http_load ab
4 Commentaires pour "Benchmark sur un serveur Apache"
Flux des commentaires de cet article Ajouter un commentaireMoi j'utilise ab ca fonctionne bien aussi !
Bonjour,
Merci, effectivement ça a l'air simple. TitaX ab (apache benchmarking) fonctionne avec d'autre server web qu'apache ? (par exemple nginx?).
@rivsc : Oui bien sur, ab se comporte comme un client, il peut donc tester n'importe quel serveur web (apache, nginx, iis...)
Lol 2 ans après et le pire c'est que je risque de m'en servir ce soir ! Assez dingue ! Ben du coup c'est bien je ferai aussi des tests avec ab :p.