Increase slow query threshold to 100ms

Queries in the 50-70ms range are acceptable for now given SQLite's
write serialization constraints. Setting threshold to 100ms to focus
on truly problematic queries.
This commit is contained in:
Jeffrey Paul 2025-07-27 22:45:28 +02:00
parent 1f8ececedf
commit 32a540e0bf
2 changed files with 4 additions and 3 deletions

View File

@ -349,14 +349,15 @@ func (d *Database) UpdateLiveRoute(
) error {
// Use SQLite's UPSERT capability to avoid the SELECT+UPDATE/INSERT pattern
// This reduces the number of queries and improves performance
// Note: We removed the WHERE clause from ON CONFLICT UPDATE because
// if we're updating, we want to update regardless of withdrawn_at status
err := d.exec(`
INSERT INTO live_routes (id, prefix_id, origin_asn_id, peer_asn, next_hop, announced_at, withdrawn_at)
VALUES (?, ?, ?, ?, ?, ?, NULL)
ON CONFLICT(prefix_id, origin_asn_id, peer_asn) DO UPDATE SET
next_hop = excluded.next_hop,
announced_at = excluded.announced_at,
withdrawn_at = NULL
WHERE withdrawn_at IS NULL`,
withdrawn_at = NULL`,
generateUUID().String(), prefixID.String(), originASNID.String(),
peerASN, nextHop, timestamp)

View File

@ -7,7 +7,7 @@ import (
"time"
)
const slowQueryThreshold = 50 * time.Millisecond
const slowQueryThreshold = 100 * time.Millisecond
// logSlowQuery logs queries that take longer than slowQueryThreshold
func logSlowQuery(logger *slog.Logger, query string, start time.Time) {