web-dev-qa-db-fra.com

Outil de test de charge HTTP pour les URL variables

Tout le monde connaît un outil de test de charge tel que "Apache Bench" pour envoyer des URL variables. (Même serveur, mais chaînes de requête différentes)

Par exemple,

ab -text list.txt -n 1000 http://test.com/search?

list.txt

name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......

Remarque: En réalité, il n’existe pas d’option de ce type dans Text Apache.

21
sura2k

Essayez le siège car il offre ce dont vous avez besoin. Vous pouvez créer des fichiers url qui utilisent des paramètres similaires à bash pour ne pas avoir à vous répéter. Il prend également en charge l'authentification de base, POST, une URL de connexion et bien plus encore.

siege -f urls.txt 

urls.txt:

URL=https://www.example.com/
$(URL)index.php?ab=1
$(URL)site.php?different=12

Vous pouvez trouver plus ici: http://www.joedog.org/siege-home/

20
Julian Hille

Vous pouvez utiliser le projet suivant apachebench pour plusieurs URL Apache Bench pour plusieurs URL

Prise en charge de plusieurs URL pour ApacheBench. Vous pouvez définir la liste d'URL comme "-L nomfichier" et également confirmer la réponse de la longueur du document pour chaque demande.

7
Yuvaraj Loganathan

à partir d'une ligne de commande dans Windows:

for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q

Je ne connais pas Apache Bench ni comment il collecte ses données. Mon approche va probablement créer une nouvelle collection de données pour chaque ligne de list.txt, ce que vous ne voudrez peut-être pas. Vous devrez regrouper les résultats de différentes analyses à la main.

(pour déboguer:

for /F %q in (list.txt) DO echo ab -n 1000 https://test.com/search?%q

qui affichera sur la console l’instruction à exécuter)

3
rene

Si vous êtes prêt à obtenir le code source Apache et à porter le correctif à l’adresse http://chrismiles.livejournal.com/21720.html à la version actuelle du code source ab.c d’Apache (un peu de confort avec C est nécessaire, mais pas grand chose), vous devriez obtenir l’équivalent de votre paramètre -text en ab (en fait, vous avez la possibilité d’ajouter à vos requêtes ce qui est bon pour le benchmark de POST où vous ne souhaitez faire varier qu’un sous-ensemble des paramètres).

J'essaie actuellement moi-même, alors le jury est toujours à l'audience ... mais les premiers indicateurs montrent que cette approche fonctionne bien.

1
rstaveley