Add DB configuration pool settings, as options to set, with defaults set.
diff --git a/api/api.go b/api/api.go
index 32a28aa..d378de1 100644
--- a/api/api.go
+++ b/api/api.go
@@ -27,10 +27,16 @@
 )
 
 const (
-	configAPIListen   = "api_listen"
-	configExpVarPath  = "api_expvar_path"
-	configReadyPath   = "api_ready"
-	configHealthyPath = "api_healthy"
+	configAPIListen         = "api_listen"
+	configExpVarPath        = "api_expvar_path"
+	configReadyPath         = "api_ready"
+	configHealthyPath       = "api_healthy"
+	ConfigDBMaxConns        = "db_config_max_conns"
+	ConfigDBIdleConns       = "db_config_idle_conns"
+	ConfigDBConnsTimeout    = "db_config_conns_timeout_seconds"
+	dbDefaultMaxConnsLimit  = 1000
+	dbDefaultIdleConnsLimit = 1000
+	dbMaxConnTimeoutLimit   = 120
 )
 
 var log apid.LogService
@@ -45,6 +51,10 @@
 	config.SetDefault(configReadyPath, "/ready")
 	config.SetDefault(configHealthyPath, "/healthy")
 
+	config.SetDefault(ConfigDBMaxConns, dbDefaultMaxConnsLimit)
+	config.SetDefault(ConfigDBIdleConns, dbDefaultIdleConnsLimit)
+	config.SetDefault(ConfigDBConnsTimeout, dbMaxConnTimeoutLimit)
+
 	listen := config.GetString(configAPIListen)
 	h, p, err := net.SplitHostPort(listen)
 	if err != nil {
diff --git a/data/data.go b/data/data.go
index 61aabb9..c5b0925 100644
--- a/data/data.go
+++ b/data/data.go
@@ -18,11 +18,15 @@
 	"database/sql"
 	"fmt"
 	"github.com/30x/apid-core"
+	"github.com/30x/apid-core/api"
 	"github.com/30x/apid-core/data/wrap"
+	"github.com/30x/apid-core/logger"
+	"github.com/Sirupsen/logrus"
 	"github.com/mattn/go-sqlite3"
 	"os"
 	"path"
 	"runtime"
+	"strings"
 	"sync"
 	"time"
 )
@@ -171,10 +175,14 @@
 		log.Errorf("error enabling foreign_keys: %s", err)
 		return
 	}
-	dbLvl := config.GetString("log_level")
-	if dbLvl == "Debug" {
+	dbLvl := config.GetString(logger.ConfigLevel)
+	if strings.EqualFold(dbLvl, logrus.DebugLevel.String()) {
 		go printDBStatsInfo(db, versionedID)
 	}
+
+	db.SetMaxOpenConns(config.GetInt(api.ConfigDBMaxConns))
+	db.SetMaxIdleConns(config.GetInt(api.ConfigDBIdleConns))
+	db.SetConnMaxLifetime(time.Duration(config.GetInt(api.ConfigDBConnsTimeout)) * time.Second)
 	dbMap[versionedID] = db
 	return
 }
diff --git a/logger/logger.go b/logger/logger.go
index 39f6e8b..7c16b17 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -24,7 +24,7 @@
 )
 
 const (
-	configLevel = "log_level"
+	ConfigLevel = "log_level"
 
 	defaultLevel = logrus.ErrorLevel
 
@@ -42,10 +42,10 @@
 func Base() apid.LogService {
 	if std == nil {
 		config = apid.Config()
-		config.SetDefault(configLevel, defaultLevel.String())
-		logLevel := config.GetString(configLevel)
+		config.SetDefault(ConfigLevel, defaultLevel.String())
+		logLevel := config.GetString(ConfigLevel)
 		fmt.Printf("Base log level: %s\n", logLevel)
-		std = NewLogger(configLevel, logLevel)
+		std = NewLogger(ConfigLevel, logLevel)
 	}
 	return std
 }
@@ -62,7 +62,7 @@
 // note: config module xx log level using config var: xx_log_level = "debug"
 func (l *logger) ForModule(name string) apid.LogService {
 
-	configKey := fmt.Sprintf("%s_%s", name, configLevel)
+	configKey := fmt.Sprintf("%s_%s", name, ConfigLevel)
 	log := NewLogger(configKey, config.GetString(configKey)).WithField(moduleField, name)
 	std.Debugf("created logger '%s' at level %s", name, log.(loggerPlus).Level())
 	return log