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
Go will leverage the number of online cpus on the machine when defining how many threads to spawn to build the pool of schedulable threads for the goroutines.
While that's very desirable when having the entire machine for yourself, that is not the most optimal when running in containers having CPU limitted - e.g., see some benchmarks: uber-go/automaxprocs#12
would be better
To tune that, one can manually set GOMAXPROCS and keep that in sync with the quotas assigned to the cgroups where Concourse runs, but that's easy to forget if not automated.
It'd be nice if Concourse by itself, knowing that it runs in a cgroup, were able to set that config.
before doing so, it might be worth experimenting with having GOMAXPROCS with a synthetic concourse deployment (probably running the algorithm stress environment?)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
challenge
Go will leverage the number of online cpus on the machine when defining how many threads to spawn to build the pool of schedulable threads for the goroutines.
While that's very desirable when having the entire machine for yourself, that is not the most optimal when running in containers having CPU limitted - e.g., see some benchmarks: uber-go/automaxprocs#12
would be better
To tune that, one can manually set GOMAXPROCS and keep that in sync with the quotas assigned to the cgroups where Concourse runs, but that's easy to forget if not automated.
It'd be nice if Concourse by itself, knowing that it runs in a cgroup, were able to set that config.
proposal
we could leverage https://github.com/uber-go/automaxprocs to automatically have that value set.
before doing so, it might be worth experimenting with having GOMAXPROCS with a synthetic concourse deployment (probably running the algorithm stress environment?)
Beta Was this translation helpful? Give feedback.
All reactions