Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support fluctuating task load in matching simulation #6565

Conversation

taylanisikdemir
Copy link
Member

@taylanisikdemir taylanisikdemir commented Dec 17, 2024

What changed?

  • Define interval based task generation qps config to simulation.
    tasks:
      - numtaskgenerators: 3
        maxtasktogenerate: 8000
        overtime:
        - taskspersecond: 10
          tasksburst: 10
          duration: 15s
        - taskspersecond: 250
          tasksburst: 250
          duration: 30s
        - taskspersecond: 10
          tasksburst: 10
  • Use different rate limiter per given time window during simulation
  • Make qps tracker's interval configurable. It was hardcoded to 10s which was reacting slow to qps spike generated in simulation
  • Emit read/write partition count metrics as 1 when partitionConfig is not set in DB. It's never set unless adaptive scaler decides to upscale which was causing gaps in the metrics.

Why?
To simulate/validate adaptive tasklist partitioner behavior.

How did you test it?
Run simulation

go run tools/matchingsimulationcomparison/*.go --scenarios "fluctuating_adaptive"

Visit matching dashboard at http://localhost:3000.
Check qps per tasklist dashboards and validate partition upscale/downscale occurs
Screenshot 2024-12-16 at 4 15 33 PM

Added r/w partition counts dashboard and checked
Screenshot 2024-12-16 at 4 15 58 PM

@taylanisikdemir taylanisikdemir enabled auto-merge (squash) December 17, 2024 20:38
@taylanisikdemir taylanisikdemir merged commit 614284c into cadence-workflow:master Dec 18, 2024
17 checks passed
@taylanisikdemir taylanisikdemir deleted the taylan/simulation_fluctuating_load branch December 18, 2024 04:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants