Ich habe einen Dienst, den ich von einer anderen Anwendung aus anrufe. Unten ist meine Service-URL, die ich anrufe -
http://www.betaservice.domain.host.com/web/hasChanged?ver=0
Ich muss einen Lasttest für meine oben genannte Dienst-URL in Multithread-Weise durchführen, anstatt nacheinander nacheinander aufzurufen.
Gibt es eine Möglichkeit, mit dem Bash-Shell-Skript meine oben genannte Service-URL zu laden, indem ich sie auf Multithread-Weise aufrufe? Ich kann 60-70 Threads haben, die über der URL sehr schnell parallel aufrufen, wenn möglich?
pgrep: invalid option -- 'c'
. Ich bin mir nicht sicher warum, können Sie sich vorstellen, was der Grund sein könnte?pgrep
Implementierung. Ist das Linux? Welcher? Wie auch immer, Sie können diese Zeile einfach inif [ $(pgrep wget | wc -l) -lt 70 ]; then
Versuchen Sie ab, Sie erhalten auch eine schöne Statistik:
Dieser Aufruf führt 10000 Anforderungen mit gleichzeitig 70 parallelen Abfragen aus.
quelle
Red Hat Enterprise Linux Server release 6.3
?yum install httpd-tools
, laut serverfault.com/a/363775/10989Sie können versuchen, GNU parallel zu installieren. Sie könnten einige GNU parallel Beispiele Suche von hier .
Testen
Ich habe
gnu-parallel
von der Quelle in meinem Computer installiert und konnte es zum Laufen bringen.Sie können es von hier aus von der Quelle installieren . Ich habe ein RedHat - System und so heruntergeladen ich das Paket fedora und dann lief das
.configure
,make
undmake install
die bekommenparallel
in meinem System installiert.Nach der erfolgreichen Installation habe ich nun ein Verzeichnis erstellt
checking
und den folgenden Befehl ausgeführt.Wie erwartet hat mir der obige Befehl 10 Kopien der Webseite heruntergeladen. Sie können die gewünschte Nummer einstellen
seq
.Weitere Informationen darüber , wie Sie den gleichen Befehl parallel laufen zu lassen, können Sie die Beispiele , die von Gnu-parallel von überprüfen hier . Auf der Beispielseite
BEARBEITEN
Um die
parallel
Ausführung zu nutzen, können Sie den Befehl wie folgt verwenden:Mit dieser
-j
Option können Sie die Gesamtzahl der Jobs angeben, die basierend auf der Gesamtzahl der CPU-Kerne parallel ausgeführt werden können.quelle
GNU parallel
. unix.stackexchange.com/questions/114962/…