Fix saturation detection and harden load generator#360
Fix saturation detection and harden load generator#360Bslabe123 wants to merge 1 commit intokubernetes-sigs:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Bslabe123 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
2ea8c0e to
50b891b
Compare
|
Can you show an example of how the rates and duration are selected as you go through finding saturation? |
16a3c77 to
cf583da
Compare
| if self.sweep_config.stage_duration > 10: | ||
| step_duration = self.sweep_config.stage_duration | ||
|
|
||
| throughput_tolerance = 0.90 |
There was a problem hiding this comment.
Any parameters we have hardcoded should be exposed with a reasonable default in the sweep config, or a reasonable reason (MAX vs a configurable) and then they should be moved outside the scope of the function.
There was a problem hiding this comment.
Maybe we consider an alternate approach before exposing any new parameters in the sweep config unless its guaranteed that the generated stages are a function the new parameters? I'm worried about exposing implementation details that might turn into breaking API changes if we ever decide change and/or harden the preprocessing algorithm.
81bb696 to
e9a5416
Compare
e9a5416 to
b204285
Compare
7eb2bbf to
aa3d93c
Compare
f3e2b3c to
1147ea2
Compare
93ec03a to
b294a37
Compare
6f113fb to
9d8c8f2
Compare
b149a8b to
c1f444d
Compare
Addresses: kubernetes-sigs#379 Minor cleanup, makes sure all python files have a licence at the top.
c1f444d to
c337e5c
Compare





Addresses: #300
Refactors
LoadGeneratorintroducing a stepped load strategy. New approach continually monitors throughput, automatically detects saturation, and dynamically readjusts the testing range.Motivation
Previous static load generation frequently failed on cold starts (0 successful requests) and required repetitive manual tuning to capture inflection points.
Changes
Verification
tests/loadgen/test_saturation_robustness.pycovering hard limits, early saturation, and tolerances.tests/loadgen/test_preprocess.pyreflecting new rate calculation.reproduce_rates.pyfor mathematical correctness.