- Notifications
You must be signed in to change notification settings - Fork173
Automatically set GOMAXPROCS to match Linux container CPU quota.
License
uber-go/automaxprocs
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Automatically setGOMAXPROCS to match Linux container CPU quota.
go get -u go.uber.org/automaxprocs
import _"go.uber.org/automaxprocs"funcmain() {// Your application logic here.}
Data measured from Uber's internal load balancer. We ran the load balancer with 200% CPU quota (i.e., 2 cores):
| GOMAXPROCS | RPS | P50 (ms) | P99.9 (ms) |
|---|---|---|---|
| 1 | 28,893.18 | 1.46 | 19.70 |
| 2 (equal to quota) | 44,715.07 | 0.84 | 26.38 |
| 3 | 44,212.93 | 0.66 | 30.07 |
| 4 | 41,071.15 | 0.57 | 42.94 |
| 8 | 33,111.69 | 0.43 | 64.32 |
| Default (24) | 22,191.40 | 0.45 | 76.19 |
WhenGOMAXPROCS is increased above the CPU quota, we see P50 decrease slightly, but see significant increases to P99. We also see that the total RPS handled also decreases.
WhenGOMAXPROCS is higher than the CPU quota allocated, we also saw significant throttling:
$ cat /sys/fs/cgroup/cpu,cpuacct/system.slice/[...]/cpu.statnr_periods 42227334nr_throttled 131923throttled_time 88613212216618OnceGOMAXPROCS was reduced to match the CPU quota, we saw no CPU throttling.
All APIs are finalized, and no breaking changes will be made in the 1.x seriesof releases. Users of semver-aware dependency management systems should pinautomaxprocs to^1.
We encourage and support an active, healthy community of contributors —including you! Details are in thecontribution guide andthecode of conduct. The automaxprocs maintainers keepan eye on issues and pull requests, but you can also report any negativeconduct tooss-conduct@uber.com. That email list is a private, safe space;even the automaxprocs maintainers don't have access, so don't hesitate to holdus to a high standard.
Released under theMIT License.
About
Automatically set GOMAXPROCS to match Linux container CPU quota.
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.