2017-12-19 3 views
2

Gibt es eine Möglichkeit, einen Leistungstestfall mit konstanter Last zu konfigurieren (z. B. 3 neue Anforderungen pro Sekunde für 1 Minute)?Konstante Last (x neue Anforderungen pro Sekunde)

Andere Lasttestbibliotheken verfügen über diese Funktion zum Festlegen der Anforderungsrate (z. B. Artillery.io, Vegeta). k6 hat eine Möglichkeit, VUs festzulegen, aber VU erstellt keine neue Anforderung, bis die vorherige Iteration abgeschlossen ist.

Antwort

3

k6 hat eigentlich diese Funktion jetzt, in der Master-Zweig (https://github.com/loadimpact/k6/issues/211 wurde vor 5 Tagen geschlossen) - entweder können Sie herunterladen und kompilieren Master (go get github.com/loadimpact/k6, wenn Sie Go installiert haben) oder Sie können nur ein wenig warten, und es wird in der nächsten Version. Sollte nicht länger als eine Woche dauern, bevor wir eine neue Veröffentlichung machen.

Sie die RPS-Limiter-Funktion verwenden, indem Sie die rps Parameter, entweder auf der Kommandozeile als Option zum run Befehl: k6 run --rps 100 ... oder als options.rps:

export let options = { vus: 50, rps: 100 }

Beachten Sie, dass diese Funktion nur einschränkend die maximale RPS-Rate k6 wird erzeugt. Wenn Sie zu wenige VU-Threads verwenden, erreichen Sie nicht die gewünschte RPS-Rate. Wie viele virtuelle Einheiten Sie verwenden müssen, hängt davon ab, wie schnell die Transaktionen abgeschlossen werden. Dies hängt wiederum von der Netzwerkverzögerung und der Serververarbeitungszeit ab. Im Allgemeinen sollte die Verwendung von 100-200 VU die häufigsten Situationen abdecken.

Verwandte Themen