Compare commits

..

2 Commits

Author SHA1 Message Date
maru
4971ad9d42
Add new database limits 2024-05-08 20:19:33 -04:00
maru
192b777ac3
Set ArgonMaxInstances to number of cores 2024-05-08 20:08:10 -04:00
2 changed files with 10 additions and 4 deletions

View File

@ -19,6 +19,7 @@ package account
import (
"regexp"
"runtime"
"golang.org/x/crypto/argon2"
)
@ -34,13 +35,13 @@ const (
ArgonKeySize = 32
ArgonSaltSize = 16
ArgonMaxInstances = 16
UUIDSize = 16
TokenSize = 32
)
var (
ArgonMaxInstances = runtime.NumCPU()
isValidUsername = regexp.MustCompile(`^\w{1,16}$`).MatchString
semaphore = make(chan bool, ArgonMaxInstances)
)

View File

@ -21,9 +21,11 @@ import (
"database/sql"
"encoding/hex"
"fmt"
_ "github.com/go-sql-driver/mysql"
"log"
"os"
"time"
_ "github.com/go-sql-driver/mysql"
)
var handle *sql.DB
@ -36,7 +38,10 @@ func Init(username, password, protocol, address, database string) error {
return fmt.Errorf("failed to open database connection: %s", err)
}
handle.SetMaxOpenConns(1000)
handle.SetMaxIdleConns(256)
handle.SetMaxOpenConns(256)
handle.SetConnMaxIdleTime(time.Second * 30)
handle.SetConnMaxLifetime(time.Minute)
tx, err := handle.Begin()
if err != nil {