diff --git a/cmd/main.go b/cmd/main.go index e0a74aef5cd6..03f05c5a2103 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -31,6 +31,9 @@ import ( "github.com/pyroscope-io/client/pyroscope" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" + + // set the correct value when it runs inside container + _ "go.uber.org/automaxprocs" ) var logger = utils.GetLogger("juicefs") diff --git a/go.mod b/go.mod index efbc65980157..1f11646c3727 100644 --- a/go.mod +++ b/go.mod @@ -62,6 +62,7 @@ require ( github.com/volcengine/ve-tos-golang-sdk/v2 v2.4.2 go.etcd.io/etcd v3.3.27+incompatible go.etcd.io/etcd/client/v3 v3.5.2 + go.uber.org/automaxprocs v1.5.1 golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 diff --git a/go.sum b/go.sum index 9d4b6d1d5a03..58dc0238b8e6 100644 --- a/go.sum +++ b/go.sum @@ -829,6 +829,8 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7 h1:xoIK0ctDddBMnc74udxJYBqlo9Ylnsp1waqjLsnef20= github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M= +github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= @@ -1043,6 +1045,8 @@ go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/automaxprocs v1.5.1 h1:e1YG66Lrk73dn4qhg8WFSvhF0JuFQF0ERIp4rpuV8Qk= +go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= diff --git a/pkg/meta/sql.go b/pkg/meta/sql.go index 6bace897ae13..a81d8c3f8af2 100644 --- a/pkg/meta/sql.go +++ b/pkg/meta/sql.go @@ -218,7 +218,7 @@ func newSQLMeta(driver, addr string, conf *Config) (Meta, error) { if searchPath != "" { engine.SetSchema(searchPath) } - engine.DB().SetMaxIdleConns(runtime.NumCPU() * 2) + engine.DB().SetMaxIdleConns(runtime.GOMAXPROCS(-1) * 2) engine.DB().SetConnMaxIdleTime(time.Minute * 5) engine.SetTableMapper(names.NewPrefixMapper(engine.GetTableMapper(), "jfs_")) m := &dbMeta{