mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-07 12:36:57 +00:00
add slowQueryThreshold setting to configure slow query warning
This commit is contained in:
parent
5d8a8bba2a
commit
b057d3be0d
6 changed files with 25 additions and 5 deletions
|
@ -115,6 +115,10 @@ db:
|
|||
user: postgres
|
||||
pass: ci
|
||||
|
||||
# Log a warning to the server console if any query takes longer than this to complete.
|
||||
# Measured in milliseconds; set to 0 to disable. (default: 300)
|
||||
slowQueryThreshold: 300
|
||||
|
||||
# If false, then query results will be cached in redis.
|
||||
# If true (default), then queries will not be cached.
|
||||
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
|
||||
|
|
|
@ -57,6 +57,10 @@ db:
|
|||
user: postgres
|
||||
pass: postgres
|
||||
|
||||
# Log a warning to the server console if any query takes longer than this to complete.
|
||||
# Measured in milliseconds; set to 0 to disable. (default: 300)
|
||||
slowQueryThreshold: 300
|
||||
|
||||
# If false, then query results will be cached in redis.
|
||||
# If true (default), then queries will not be cached.
|
||||
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
|
||||
|
|
|
@ -118,6 +118,10 @@ db:
|
|||
user: example-misskey-user
|
||||
pass: example-misskey-pass
|
||||
|
||||
# Log a warning to the server console if any query takes longer than this to complete.
|
||||
# Measured in milliseconds; set to 0 to disable. (default: 300)
|
||||
slowQueryThreshold: 300
|
||||
|
||||
# If false, then query results will be cached in redis.
|
||||
# If true (default), then queries will not be cached.
|
||||
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
|
||||
|
|
|
@ -121,13 +121,15 @@ db:
|
|||
user: sharkey
|
||||
pass: example-misskey-pass
|
||||
|
||||
# Log a warning to the server console if any query takes longer than this to complete.
|
||||
# Measured in milliseconds; set to 0 to disable. (default: 300)
|
||||
slowQueryThreshold: 300
|
||||
|
||||
# If false, then query results will be cached in redis.
|
||||
# If true (default), then queries will not be cached.
|
||||
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
|
||||
#disableCache: false
|
||||
|
||||
#
|
||||
|
||||
# Extra Connection options
|
||||
#extra:
|
||||
# ssl: true
|
||||
|
|
|
@ -41,6 +41,7 @@ type Source = {
|
|||
db?: string;
|
||||
user?: string;
|
||||
pass?: string;
|
||||
slowQueryThreshold?: number;
|
||||
disableCache?: boolean;
|
||||
extra?: { [x: string]: string };
|
||||
};
|
||||
|
@ -225,6 +226,7 @@ export type Config = {
|
|||
db: string;
|
||||
user: string;
|
||||
pass: string;
|
||||
slowQueryThreshold?: number;
|
||||
disableCache?: boolean;
|
||||
extra?: { [x: string]: string };
|
||||
};
|
||||
|
@ -411,6 +413,10 @@ export function loadConfig(): Config {
|
|||
const internalMediaProxy = `${scheme}://${host}/proxy`;
|
||||
const redis = convertRedisOptions(config.redis, host);
|
||||
|
||||
// nullish => 300 (default)
|
||||
// 0 => undefined (disabled)
|
||||
const slowQueryThreshold = (config.db.slowQueryThreshold ?? 300) || undefined;
|
||||
|
||||
return {
|
||||
version,
|
||||
publishTarballInsteadOfProvideRepositoryUrl: !!config.publishTarballInsteadOfProvideRepositoryUrl,
|
||||
|
@ -429,7 +435,7 @@ export function loadConfig(): Config {
|
|||
apiUrl: `${scheme}://${host}/api`,
|
||||
authUrl: `${scheme}://${host}/auth`,
|
||||
driveUrl: `${scheme}://${host}/files`,
|
||||
db: { ...config.db, db: dbDb, user: dbUser, pass: dbPass },
|
||||
db: { ...config.db, db: dbDb, user: dbUser, pass: dbPass, slowQueryThreshold },
|
||||
dbReplications: config.dbReplications,
|
||||
dbSlaves: config.dbSlaves,
|
||||
fulltextSearch: config.fulltextSearch,
|
||||
|
@ -637,7 +643,7 @@ function applyEnvOverrides(config: Source) {
|
|||
// these are all the settings that can be overridden
|
||||
|
||||
_apply_top([['url', 'port', 'address', 'socket', 'chmodSocket', 'disableHsts', 'id', 'dbReplications', 'websocketCompression']]);
|
||||
_apply_top(['db', ['host', 'port', 'db', 'user', 'pass', 'disableCache']]);
|
||||
_apply_top(['db', ['host', 'port', 'db', 'user', 'pass', 'slowQueryThreshold', 'disableCache']]);
|
||||
_apply_top(['dbSlaves', Array.from((config.dbSlaves ?? []).keys()), ['host', 'port', 'db', 'user', 'pass']]);
|
||||
_apply_top([
|
||||
['redis', 'redisForPubsub', 'redisForJobQueue', 'redisForTimelines', 'redisForReactions', 'redisForRateLimit'],
|
||||
|
|
|
@ -321,7 +321,7 @@ export function createPostgresDataSource(config: Config) {
|
|||
printReplicationMode: !!config.dbReplications,
|
||||
})
|
||||
: undefined,
|
||||
maxQueryExecutionTime: 300,
|
||||
maxQueryExecutionTime: config.db.slowQueryThreshold,
|
||||
entities: entities,
|
||||
migrations: ['../../migration/*.js'],
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue