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.
|
This pull request has been marked as stale due to lack of recent activity. It will be closed in 30 days if no further activity occurs. If this PR is still relevant, please comment or push new commits to keep it active. |
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.