benchmarking: add cold-start (TTFE) Locust load shape - #884
Open
Alex Bulankou (AlexBulankou) wants to merge 1 commit into
Open
benchmarking: add cold-start (TTFE) Locust load shape#884Alex Bulankou (AlexBulankou) wants to merge 1 commit into
Alex Bulankou (AlexBulankou) wants to merge 1 commit into
Conversation
ColdStartUser measures actor time-to-first-execution on the COLD path:
each task iteration provisions a fresh actor, times one first ResumeActor
on it, then tears it down, so every sample is a genuine cold start (unlike
AteAPIUser, which re-resumes one long-lived actor and only ever hits the
warm path).
Two axes, one task each, both on fresh actors:
* ColdStartSnapshotResume -- ResumeActor(boot=False): cold start via the
golden-snapshot restore path.
* ColdStartBootResume -- ResumeActor(boot=True): cold start via full
boot from scratch (worst-case baseline).
The ResumeActor handler blocks until readyz=200, so the resume's elapsed
time is the actor's TTFE. Reported latency uses the server-elapsed trailer
with client wall-clock fallback (same convention as the warm path). Pair
with the SLO-knee sweep for the throughput axis.
[a4s1] reference patch for #6595 benchmarking spike.
Signed-off-by: Alex Bulankou <alexbu@google.com>
Collaborator
Author
|
Three candidate extensions surfaced while exercising this class against a live ladder config — flagging pre-review so scope can be weighed here rather than post-merge:
If these fit the intent, I can push them onto this branch as a revision; equally fine as a follow-up after this merges as-is. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The existing
ate_api.pyload shape creates its actor inon_startand Resume/Suspend-cycles it per task — that measures warm activation. This addslocust/tests/coldstart.py, a load shape for true time-to-first-execution: a fresh actor per iteration, measuringboot=False(restore from golden snapshot) andboot=True(full boot) as two separate named metrics, so cold-start p50/p95 land in the samestats.jsonlpipeline as everything else.Follows the channel/tracing/atespace helper idioms of the existing
ate_api.py.