What is the point of MAXCONCURRENCY being greater than PLANNEDCONCURRENCY
Plannedconcurrency defines query budget for the resource pool, and if it is set to N, then N queries will consume the entire resource pool's memory. So what would be the reason for maxconcurrency to exceed plannedconcurrency, considering there's no more memory left in the resource pool?
Best Answer
-
mosheg Vertica Employee Administrator
PLANNEDCONCURRENCY defines the max number of concurrent queries that can consume the full memory budget allocated to the RP.
MAXCONCURRENCY specifies the max number of concurrent queries that can run in the RP, even if memory resources are overcommitted. Any queries beyond MAXCONCURRENCY are queued.When MAXCONCURRENCY exceed PLANNEDCONCURRENCY
1. More queries are allowed to run (up to maxconcurrency), and may execute with less memory per query.
2. Queries that cannot fit in memory might spill to disk. The RP may handle more queries but can lead to slower query performance.
3. Not all queries need the full memory allocation. For instance, if lightweight queries are submitted, the system might allow more queries to run concurrently, exceeding plannedconcurrency.
4. Vertica monitors the actual memory usage. If some queries are not fully utilizing their allocated memory, additional queries may be executed to make better use of idle resources.If the maxconcurrency is explicitly set higher by Vertica administrator, Vertica enforces the configured limit, even if it causes contention for resources.
0
Answers
thanks a lot for the exhaustive response, really appreciate it!