Public Access
perf(datasource): reuse query plans on core connections (#49)
Planning was 94% of Dashboard DB time, and prod never reused a plan. Force generic plans and prepare on first use. Burst: 443 -> 229 ms.
This commit is contained in:
1 parent
6f2d7b4885
commit
4fbf572f32
3 files changed
+42
No files matched your search
@@ -909,6 +909,14 @@ duration, e.g. `GET /api/library/games 200 28 ms`. The pattern is `-` when no ha
|
||||
routing). The line never holds ids, query strings, user data or tokens. `/actuator/**` is skipped. An exception
|
||||
that leaves the filter chain is logged as `500`.
|
||||
|
||||
### Database connection settings
|
||||
|
||||
Every Core connection runs with `plan_cache_mode = force_generic_plan` and `prepareThreshold=1`
|
||||
(`spring.datasource.hikari` in `application.yml`). Planning was 94% of the Dashboard DB time and prod never reused a
|
||||
plan (few users, a new connection every 30 min). With a cached generic plan the Dashboard burst dropped from 443 to
|
||||
229 ms on 2 CPUs (#49). Cost: the first burst on fresh connections costs about 100 ms more (cold start: 1101 -> 1205
|
||||
ms), and a generic plan ignores parameter values.
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
|
||||
Reference in new issue
Block a user