[feature] Tune sqlite pragmas (#1349)

* sqlite pragma tuning

* use formatuint

* add sqlite busy timeout

* fix incorrect cache size format

* update envparsing test

* add sqlite tuning flags to cli

* set sqlite timeout to 30s default
This commit is contained in:
tobi 2023-01-17 13:29:44 +01:00 committed by GitHub
commit 627b8eeae6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 291 additions and 80 deletions

View file

@ -19,6 +19,9 @@
package testrig
import (
"time"
"codeberg.org/gruf/go-bytesize"
"github.com/coreos/go-oidc/v3/oidc"
"github.com/superseriousbusiness/gotosocial/internal/config"
)
@ -43,12 +46,16 @@ var testDefaults = config.Configuration{
Port: 8080,
TrustedProxies: []string{"127.0.0.1/32", "::1"},
DbType: "sqlite",
DbAddress: ":memory:",
DbPort: 5432,
DbUser: "postgres",
DbPassword: "postgres",
DbDatabase: "postgres",
DbType: "sqlite",
DbAddress: ":memory:",
DbPort: 5432,
DbUser: "postgres",
DbPassword: "postgres",
DbDatabase: "postgres",
DbSqliteJournalMode: "WAL",
DbSqliteSynchronous: "NORMAL",
DbSqliteCacheSize: 64 * bytesize.MiB,
DbSqliteBusyTimeout: time.Second * 30,
WebTemplateBaseDir: "./web/template/",
WebAssetBaseDir: "./web/assets/",

View file

@ -73,15 +73,11 @@ var testModels = []interface{}{
// value as the port instead.
func NewTestDB() db.DB {
if alternateAddress := os.Getenv("GTS_DB_ADDRESS"); alternateAddress != "" {
config.Config(func(cfg *config.Configuration) {
cfg.DbAddress = alternateAddress
})
config.SetDbAddress(alternateAddress)
}
if alternateDBType := os.Getenv("GTS_DB_TYPE"); alternateDBType != "" {
config.Config(func(cfg *config.Configuration) {
cfg.DbType = alternateDBType
})
config.SetDbType(alternateDBType)
}
if alternateDBPort := os.Getenv("GTS_DB_PORT"); alternateDBPort != "" {
@ -89,9 +85,7 @@ func NewTestDB() db.DB {
if err != nil {
panic(err)
}
config.Config(func(cfg *config.Configuration) {
cfg.DbPort = int(port)
})
config.SetDbPort(int(port))
}
var state state.State