You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Many scheduling logic based on the Checkers, such as failover, rules, and so on. but the checker is not the same as a scheduler, it scans the regions from start to end, and then does some calculation logic. it may spend much time each round if there are many regions and stores. such as:
The checker will be bottleneck because it cannot parallel.
Proposal
Consider making the framework can be parallel with an argument, like concurrency = 2
Before:
After:
or
other consider:
scan interval can be automatically tune
the checker can be like a scheduler, can add and remove. also, we can define the order of the checker with some interface. it helps some scenarios to prioritize to do some checker. what's more, the rule checker can also be split into smaller checker, like the offline stores, but mostly CPU usage in moveBetterLocaltion, we can disable moveBetterLocaltion, only do offline checks.
also RegionRuleCache will help speed up the checker fit the regions.
concurrency can be tuned by the user, better can be controlled under specified CPU usage.
The text was updated successfully, but these errors were encountered:
Background
Currently, Many scheduling logic based on the Checkers, such as failover, rules, and so on. but the checker is not the same as a scheduler, it scans the regions from start to end, and then does some calculation logic. it may spend much time each round if there are many regions and stores. such as:
The checker will be bottleneck because it cannot parallel.
Proposal
Consider making the framework can be parallel with an argument, like
concurrency = 2
Before:
After:
or
other consider:
moveBetterLocaltion
, we can disablemoveBetterLocaltion
, only do offline checks.concurrency
can be tuned by the user, better can be controlled under specified CPU usage.The text was updated successfully, but these errors were encountered: