Nutzung von "url-grouping" in k6-Tests zur Vermeidung von Speicherproblemen
User Story
Bei der Ausführung von src/test/k6/create-and-update-destination.js gibt k6 folgende Warnung aus:
WARN[0070] The test has generated metrics with 100132 unique time series, which is higher than the suggested limit of 100000 and could cause high memory usage. Consider not using high-cardinality values like unique IDs as metric tags or, if you need them in the URL, use the name metric tag or URL grouping. See https://grafana.com/docs/k6/latest/using-k6/tags-and-groups/ for details. component=metrics-engine-ingester
Offensichtlich führt jede URL eines via k6 durchgeführten HTTP-Requests zu einer neuen Metrik, was bei einer hohen Anzahl von Requests ggf. zu Speicherproblemen führt.
Dies betrifft vermutlich sämtliche k6-Tests, die URLs mit IDs verwenden.
Abhilfe schafft die Verwendung von url-grouping.
Entweder können explizit Namen je URL-Pattern vergeben oder der http.url Wrapper verwendet werden, der das String-Template als Namen der Metrik verwendet.
Akzeptanzkriterien
-
Die Anzahl der Metriken wurde durch Verwendung von "url-grouping" reduzuiert und die obige Warnung erscheint nicht mehr. -
Alle k6-Tests laufen fehlerfrei.