2017-01-05 2 views
-1

Ich muss eine Reihe von HTTP Tomcat-Servern mit JMeter testen. Ich habe eine Liste von 'n' Zielservern und eine Liste von 'n' JMeter Remote Test Servern und eine Liste von einzelnen Variablen Parametern, die in der URL gegen jeden Tomcat Server getestet werden. Jeder JMeter-Remote-Testserver sollte jedoch nur einen einzelnen Zielserver mit einer Reihe von Threads testen, die alle Parameter durchlaufen. Der Test ist also 1 zu 1, aber ich muss die Ergebnisse zusammentragen, da die Zielserver eine CDN-Kante mit a bilden gemeinsame Ursprungs-URL Wie kann ich sicherstellen, dass jeder Zielserver von einem einzigen JMeter-Server mit demselben Parametersatz getestet wird? Die Verwendung einer CSV DATA SET CONFIG für die Liste der Parameter ist offensichtlich, aber ich kann nicht sehen, wie ich den gleichen Typ von Konfigurationselement für die Liste der Zielserver verwenden könnte.JMeter Remote-Server - Hunderte von eins zu eins Tests

Die einzige Möglichkeit, die ich mir vorstellen kann ist, dass ich eine CSV-Datei mit einer einzigen eindeutigen Ziel-URL zu jedem Remote-JMeter-Server zu verteilen. Auf diese Weise kennen alle Hunderte von Threads auf jedem JMeter-Server nur ein Ziel, können aber einen einzelnen Dateinamen für die Quell-URL verwenden. Kennt jemand einen besseren Weg?

Antwort

0

JMeter entfernen "Slaves" führen grundsätzlich den gleichen Testplan, der auf der "Master" -Maschine angegeben wird, so dass die Standardkonfiguration nicht verwendet werden kann.

Es gibt 2 Möglichkeiten:

  1. Sie user.properties Datei auf jedem Slave-Maschine ändern können die einzelnen eindeutigen Endpunkt (URL) wie enthalten:

    • in Benutzer .properties Datei definieren Sie eine Eigenschaft, die den Endpunkt angibt:

      url=http://some.cdn.1 
      
    • im Test Plan Verwendung __P() function den Wert wie zu lesen:

      ${__P(url)} 
      

    So gegeben verschiedenen url Eigenschaft auf jedem Remote-Slave jeder Slave anderen Endpunkt schlagen sein wird. Weitere Informationen zu JMeter-Eigenschaften und den Möglichkeiten, mit ihnen zu arbeiten, finden Sie unter Apache JMeter Properties Customization Guide.

  2. Sie können mit dem If Controller__machipeIP() oder __machineName() Funktion in Verbindung verwenden, so schalten verzweigt die Ausführung auf der "Slave" IP-Adresse oder einen Hostnamen zu stützen, so etwas wie:

    • Wenn Controller Zustand: ${__machineIP()} == "172.30.40.50"
      • etwas Bestimmtes tun für Cdn1
    • Wenn Controller Zustand: ${__machineIP()} == "172.30.40.51"
      • etwas tun, die spezifisch für CDN2
    • usw.