Merge branch 'huydx-feat/sqlmax'

This commit is contained in:
bergquist 2017-02-10 15:30:12 +01:00
commit f147ac053d
3 changed files with 26 additions and 1 deletions

View File

@ -73,6 +73,11 @@ password =
# Example: mysql://user:secret@host:port/database # Example: mysql://user:secret@host:port/database
url = url =
# Max conn setting default is 0 (mean not set)
max_conn =
max_idle_conn =
max_open_conn =
# For "postgres", use either "disable", "require" or "verify-full" # For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify". # For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable ssl_mode = disable

View File

@ -82,6 +82,12 @@
# For "sqlite3" only, path relative to data_path setting # For "sqlite3" only, path relative to data_path setting
;path = grafana.db ;path = grafana.db
# Max conn setting default is 0 (mean not set)
;max_conn =
;max_idle_conn =
;max_open_conn =
#################################### Session #################################### #################################### Session ####################################
[session] [session]
# Either "memory", "file", "redis", "mysql", "postgres", default is "file" # Either "memory", "file", "redis", "mysql", "postgres", default is "file"

View File

@ -29,6 +29,9 @@ type DatabaseConfig struct {
ClientKeyPath string ClientKeyPath string
ClientCertPath string ClientCertPath string
ServerCertName string ServerCertName string
MaxConn int
MaxOpenConn int
MaxIdleConn int
} }
var ( var (
@ -150,7 +153,15 @@ func getEngine() (*xorm.Engine, error) {
} }
sqlog.Info("Initializing DB", "dbtype", DbCfg.Type) sqlog.Info("Initializing DB", "dbtype", DbCfg.Type)
return xorm.NewEngine(DbCfg.Type, cnnstr) engine, err := xorm.NewEngine(DbCfg.Type, cnnstr)
if err != nil {
return nil, err
} else {
engine.SetMaxConns(DbCfg.MaxConn)
engine.SetMaxOpenConns(DbCfg.MaxOpenConn)
engine.SetMaxIdleConns(DbCfg.MaxIdleConn)
}
return engine, nil
} }
func LoadConfig() { func LoadConfig() {
@ -177,6 +188,9 @@ func LoadConfig() {
DbCfg.Host = sec.Key("host").String() DbCfg.Host = sec.Key("host").String()
DbCfg.Name = sec.Key("name").String() DbCfg.Name = sec.Key("name").String()
DbCfg.User = sec.Key("user").String() DbCfg.User = sec.Key("user").String()
DbCfg.MaxConn = sec.Key("max_conn").MustInt(0)
DbCfg.MaxOpenConn = sec.Key("max_open_conn").MustInt(0)
DbCfg.MaxIdleConn = sec.Key("max_idle_conn").MustInt(0)
if len(DbCfg.Pwd) == 0 { if len(DbCfg.Pwd) == 0 {
DbCfg.Pwd = sec.Key("password").String() DbCfg.Pwd = sec.Key("password").String()
} }