diff --git a/storage/cache/database.go b/storage/cache/database.go index c4dbc5dde..57311cb69 100644 --- a/storage/cache/database.go +++ b/storage/cache/database.go @@ -43,6 +43,12 @@ import ( "moul.io/zapgorm2" ) +const ( + maxIdleConns = 64 + maxOpenConns = 64 + maxLifetime = time.Minute +) + const ( // ItemNeighbors is sorted set of neighbors for each item. // Global item neighbors - item_neighbors/{item_id} @@ -343,6 +349,9 @@ func Open(path, tablePrefix string) (Database, error) { ); err != nil { return nil, errors.Trace(err) } + database.client.SetMaxIdleConns(maxIdleConns) + database.client.SetMaxOpenConns(maxOpenConns) + database.client.SetConnMaxLifetime(maxLifetime) database.gormDB, err = gorm.Open(postgres.New(postgres.Config{Conn: database.client}), storage.NewGORMConfig(tablePrefix)) if err != nil { return nil, errors.Trace(err)