Automated capacity management
Opened this issue · 0 comments
jodzga commented
Due to asynchronous nature Engine can accept for execution more plans than it is physically capable of executing. A partial answer to this problem is to use specify plan concurrency and apply back pressure to incoming plans. The problems with this approach are:
- inefficiency in situations where different plan types have very different resource utilizations
- difficult to figure out correct concurrency level
- best concurrency level may change over time
This task is to investigate automatic capacity management. Some ideas:
- in real time, measure utilization of key resources and and distribute cost over plan types being executed
- estimate load based on sample of traces of executed plans and correlate it with resource utilization