J'ai un service que j'appelle depuis une autre application. Voici mon URL de service que j'appelle -
http://www.betaservice.domain.host.com/web/hasChanged?ver=0
J'ai besoin de faire un test de charge sur mon URL de service ci-dessus de manière multithread au lieu d'appeler séquentiellement un par un.
Existe-t-il un moyen à partir du script shell bash, je peux mettre une charge sur mon URL de service ci-dessus en l'appelant de manière multithread? Je peux avoir 60-70 threads appelant l'URL ci-dessus en parallèle très rapidement si possible?
pgrep: invalid option -- 'c'
. Je ne sais pas pourquoi, pouvez-vous penser à quelle pourrait être la raison?pgrep
implémentation différente . Est-ce Linux? Laquelle? Quoi qu'il en soit, vous pouvez simplement changer cette ligne enif [ $(pgrep wget | wc -l) -lt 70 ]; then
Essayez ab, vous obtenez également une belle statistique:
Cet appel fera 10000 requêtes avec simultanéité de 70 requêtes parallèles.
la source
Red Hat Enterprise Linux Server release 6.3
?yum install httpd-tools
, selon serverfault.com/a/363775/10989Vous pouvez essayer d'installer GNU en parallèle. Vous pouvez obtenir des exemples parallèles GNU d' ici .
Essai
J'ai installé
gnu-parallel
depuis la source dans ma machine et j'ai pu le faire fonctionner.Vous pouvez l'installer depuis la source d' ici . J'ai un système de RedHat et je téléchargé le paquet fedora puis couru le
.configure
,make
etmake install
pour obtenir leparallel
installé dans mon système.Maintenant, après l'installation réussie, j'ai créé un répertoire
checking
et exécuté la commande ci-dessous.Comme prévu, la commande ci-dessus m'a téléchargé 10 copies de la page Web. Vous pouvez définir le numéro que vous souhaitez avec
seq
.Pour plus d'informations sur la façon d'exécuter la même commande en parallèle, vous pouvez vérifier les exemples fournis par gnu-parallel à partir d' ici . À partir de la page d'exemple,
ÉDITER
Maintenant, pour profiter de l'
parallel
exécution, vous pouvez utiliser la commande comme,L'
-j
option est quelque chose qui pourrait spécifier le nombre total de travaux pouvant être exécutés en parallèle en fonction du nombre total de cœurs de processeur.la source
GNU parallel
. unix.stackexchange.com/questions/114962/…