2017-02-12 5 views
0

Ich habe einige Leistungstests für WSO2 APIM sowohl auf WebServices (WSDL) als auch auf Gateway-Schnittstellen durchgeführt. Am Gateway ist alles gut gelaufen, allerdings habe ich bei der Nutzung der WebServices ein merkwürdiges Verhalten.WSO2 APIM - Tunning

Grundsätzlich habe ich einen Test erstellt, der hinzufügen, Kennwort ändern und einen Benutzer löschen und einen Testplan mit 64 Threads ausführen. Am Anfang stieg mein Durchsatz sehr stark an, bis alle 64 Threads erreicht waren (der Durchsatzpeak war 1600 req/seg). Danach beginnt der Durchsatz ohne Grund zu sinken.

Alle 64 Threads sind noch aktiv und laufen, und der Rechner mit dem hos2am reduziert die CPU-Auslastung. Es scheint, dass APIM den Umgang mit der Anfrage aufgegeben hat, obwohl es Threads und Prozessoren dafür hat.

Das folgende Bild zeigt das vmstat-Ergebnis für Prozessor (Benutzer, System und Leerlauf) und den Kontextwechsel und Unterbrechungen. Es ist möglich, cpu/context switch folgt dem Durchsatz.

enter image description here

Und das nächste Bild zeigt das jmeter Testergebnis nach am Ende (nach Abnahme Durchsatz).

enter image description here

Im Grunde, was ich brauche, ist ein Hinweis auf das, was der Grund für dieses Verhalten sein kann. Ich habe bereits versucht, den Pool von Threads auf Wso2am und Tomcat zu erhöhen, aber es hat keine Wirkung. Es ist so, als würden die Anfragen überhaupt nicht ankommen. Auch wenn jmeter voller Power ist und schon vorher einen größeren Durchsatz gesendet hat.

Ich würde wetten, dass eine einfache Konfiguration auf Tomcat oder Wso2 die Antwort dafür ist. Jede Hilfe ist zu schätzen.

Danke und Grüße

Antwort

0

Es kann sein, aufgrund JMeter nicht die Anforderungen in der Lage, schnell genug zu senden, versuchen Sie die folgenden Schritte aus:

  • Upgrade-JMeter auf die neueste Version (3.1 ab sofort) , können Sie die neueste JMeter-Verteilung von JMeter download page
  • erhalten Führen Sie Ihren Test in command-line non-GUI mode. JMeter GUI kann nur für die Testentwicklung und/oder das Debugging verwendet werden, es ist nicht für das Ausführen von Belastungstests ausgelegt.
  • Entfernen (oder deaktivieren) Sie alle listeners während der Testausführung. Später können Sie JMeter GUI öffnen kann, fügen Sie den Hörer Ihrer Wahl, Last .jtl Ergebnisdatei und Analysen durch oder eine HTML Reporting Dashboard aus Ergebnisdatei erstellen

9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure Artikel für oben genannten Punkte Siehe erläutert Details und einige weitere Tipps bei der Konfiguration von JMeter für maximale Leistung und Durchsatz

+0

Dmitri, vielen Dank für Ihre Zeit. Das hat das Ergebnis jedoch nicht verändert. Ich konnte 4K Req/Sek auf der Gateway-Schnittstelle und 2K Req/Sek auf der Service-Schnittstelle erreichen, in beiden Fällen verwendete die JMeter VM ein bisschen von allen verfügbaren Ressourcen (CPU, I/O, Mem, ...). Das seltsame Verhalten ist, dass für das Gateway-Interface der gesamte Test über den gesamten Test hinweg beibehalten wird, aber für den Service beginnt er hoch und bleibt bis zu 10% der Spitzenauslastung aufrecht. Grüße. –

Verwandte Themen