Ich habe jMeter zum Testen der App-App-Leistung verwendet.
Ich habe eine Thread-Gruppe von
erstelltund führte den Test durch.
Es hat 4 Instanzen in der App-Engine erstellt. Aber interessant ist, & gt; 450 Anfragen wurden von einer einzelnen Instanz bearbeitet.
Ich habe den Test erneut mit diesen Instanzen durchgeführt, noch gingen die meisten Anfragen (& gt; 90%) zur selben Instanz .
Ich bekomme viel höhere Latenz.
Was läuft hier falsch?
Last von 1 IP generieren, gibt es ein Problem?
Ihr Problem besteht darin, dass Sie keinen realistischen Hochlaufwert verwenden. AppEngine benötigt wie die meisten automatischen Skalierungslösungen eine angemessene Zeit, um neue Hardware zu entwickeln. Während dieses Prozesses kann beim Erstellen der neuen Instanzen die Latenz erhöhen, wenn es zu einem starken und plötzlichen Anstieg des Datenverkehrs kommt.
Wählen Sie einen Hochlaufwert, der für die Art von Spitzen / Spannungsstößen repräsentativ ist, die Sie in der Produktion erwarten, und führen Sie dann den Test aus. Verwenden Sie die Werte aus diesem Test, um zu entscheiden, wie viele appEngine-Instanzen Sie immer "eingeschaltet" haben möchten. Je höher dieser Wert ist, desto geringer ist die Auswirkung eines Anstiegs, aber natürlich umso höher Ihre Kosten.
Wenn Sie sagen "Ich bekomme viel höhere Latenz" was genau bekommen Sie? Halten Sie es für zu langsam?
Wenn die Latenz ein Problem darstellt, können Sie die maximale Wartezeit in den Anwendungseinstellungen reduzieren. Wenn Sie das versuchen, stelle ich mir vor, dass Ihre Anfragen mehr über die Instanzen verteilt werden.
Meine Vermutung ist einfach, dass die 2-3 Leerlauf-Instanzen in Erwartung einer erhöhten Auslastung hochgefahren sind, aber für Ihren Test eigentlich nicht benötigt werden.
Tags und Links java google-app-engine performance-testing jmeter