perf: switch saturation tests to static/1KB logs and reduce loadgen to SUT ratio to 2:1#2643
perf: switch saturation tests to static/1KB logs and reduce loadgen to SUT ratio to 2:1#2643cijothomas wants to merge 2 commits intoopen-telemetry:mainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (82.22%) is below the target coverage (85.00%). You can increase the head coverage or adjust the target coverage.
Additional details and impacted files@@ Coverage Diff @@
## main #2643 +/- ##
===========================================
- Coverage 88.42% 82.22% -6.21%
===========================================
Files 631 181 -450
Lines 232112 52749 -179363
===========================================
- Hits 205243 43371 -161872
+ Misses 26345 8854 -17491
Partials 524 524
🚀 New features to boost your workflow:
|
…atio to 2:1 - Switch saturation tests to use static data source with 1KB log bodies (pre_generated strategy) for more realistic payload sizes - Reduce loadgen:engine core ratio from 3:1 to 2:1 across all saturation configs - Make data_source and log_body_size_bytes templatable in loadgen config - Existing non-saturation tests are unaffected (defaults unchanged) Validated locally on 16-core machine (4 runs each, 1/2/4 engine cores): - 2:1 ratio saturates engine to 96-100% CPU at 1-2 cores - 33% fewer loadgen cores needed - 3.75x higher data throughput (514 MB/s vs 137 MB/s at 2 cores)
399642f to
6354a14
Compare
| signals_per_second: null # Using null means loadgen don't self-cap the rate. | ||
| max_batch_size: {{max_batch_size}} | ||
| data_source: static | ||
| log_body_size_bytes: 1024 |
There was a problem hiding this comment.
Pleas check, I think these new saturation variables also need to be added to df-loadgen-steps-docker..yaml, otherwise config.yaml.j2 will keep rendering the old defaults.
There was a problem hiding this comment.
Good catch. I am still hitting other bottlenecks, likely due to docker networking. Investigating them now. Marked PR as draft for now.
…late The saturation template sets data_source=static and log_body_size_bytes=1024, but these variables were not forwarded through the test steps template to the loadgen config template. Add the passthrough so the loadgen actually uses static/1KB logs as intended.
Change Summary
How are these changes tested?
Validated locally on 16-core machine (4 runs each, 1/2/4 engine cores):
Are there any user-facing changes?
No. Just internal perf tests.
After merge, I'll monitor how it fares in the perf test machine, and make tweaks in follow ups.