mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-23 20:37:12 +01:00
vmselect: ensure default -search.maxConcurrentRequests is non-decreasing (#6996)
### Describe Your Changes vmselect determines the default value of `-search.maxConcurrentRequests` multiplying the number of available CPUs by 2 if and only if the number is small (to be precise <= 4). That leads `-search.maxConcurrentRequests` is decreasing at the edge of these two cases as shown below: | CPUs | MaxConcurrentRequests | MaxConcurrentRequests (original proposal) | MaxConcurrentRequests (updated proposal) | |--------|--------|--------|--------| | 1 | 2 | 2 | 2 | | 2 | 4 (prev+2) | 4 (prev+2) | 4 (prev+2) | | 3 | 6 (prev+2) | 6 (prev+2) | 6 (prev+2) | | 4 | 8 (prev+2) | 8 (prev+2) | 8 (prev+2) | | 5 | 5 __(prev-3)__ | 9 __(prev+1)__ | 10 __(prev+2)__ | | 6 | 6 (prev+1) | 10 (prev+1) | 12 (prev+2) | | 7 | 7 (prev+1) | 11 (prev+1) | 14 (prev+2) | | 8 | 8 (prev+1) | 12 (prev+1) | 16 (prev+2) | I propose to make the default value non-decreasing.
This commit is contained in:
parent
2df2e9b92f
commit
80a3c410d4
@ -44,10 +44,7 @@ var (
|
||||
var slowQueries = metrics.NewCounter(`vm_slow_queries_total`)
|
||||
|
||||
func getDefaultMaxConcurrentRequests() int {
|
||||
n := cgroup.AvailableCPUs()
|
||||
if n <= 4 {
|
||||
n *= 2
|
||||
}
|
||||
n := cgroup.AvailableCPUs() * 2
|
||||
if n > 16 {
|
||||
// A single request can saturate all the CPU cores, so there is no sense
|
||||
// in allowing higher number of concurrent requests - they will just contend
|
||||
|
Loading…
Reference in New Issue
Block a user