feat: make mariadb max pool connections controllable via env (#6386)

Co-authored-by: Frank Elsinga <frank@elsinga.de>
This commit is contained in:
Amirparsa Baghdadi 2025-12-03 16:49:19 +03:30 committed by GitHub
parent 5bf9a51522
commit 756f179219
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -223,9 +223,24 @@ class Database {
let config = {};
let parsedMaxPoolConnections = parseInt(process.env.UPTIME_KUMA_DB_POOL_MAX_CONNECTIONS);
if (!process.env.UPTIME_KUMA_DB_POOL_MAX_CONNECTIONS) {
parsedMaxPoolConnections = 10;
} else if (Number.isNaN(parsedMaxPoolConnections)) {
log.warn("db", "Max database connections defaulted to 10 because UPTIME_KUMA_DB_POOL_MAX_CONNECTIONS was invalid.");
parsedMaxPoolConnections = 10;
} else if (parsedMaxPoolConnections < 1) {
log.warn("db", "Max database connections defaulted to 10 because UPTIME_KUMA_DB_POOL_MAX_CONNECTIONS was less than 1.");
parsedMaxPoolConnections = 10;
} else if (parsedMaxPoolConnections > 100) {
log.warn("db", "Max database connections capped to 100 because Mysql/Mariadb connections are heavy. consider using a proxy like ProxySQL or MaxScale.");
parsedMaxPoolConnections = 100;
}
let mariadbPoolConfig = {
min: 0,
max: 10,
max: parsedMaxPoolConnections,
idleTimeoutMillis: 30000,
};