Skip to content

fix: 压缩、还原占用数据库时 hub 不再停摆;数据页统计改走只读连接 - #99

Merged
stqfdyr merged 2 commits into
mainfrom
fix/db-lock-off-runtime
Oct 6, 2026
Merged

stqfdyr merged 2 commits into
mainfrom
fix/db-lock-off-runtime

Conversation

@stqfdyr

@stqfdyr stqfdyr commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator
  • 写连接被压缩、还原占用时,等这把锁的请求、浏览器推送、agent 握手和整点维护不再占住 tokio 的工作线程:锁被占时改用 block_in_place 等待(db::lock),推送快照的缓存锁同样处理。单核、限速磁盘下实测,开着推送时 13 s 的压缩让其它请求等 12.5 s,改后 0.01 s。
  • 数据页的统计(逐表 COUNT(*))改用一条独立的只读连接,既不占写连接,也不占公开页历史图表用的只读连接;冷缓存时它要把整库读一遍,此前会挡住 agent 上报和整点维护(实测整点时其它请求等 71 s)。
  • 浏览器推送的定时器错过的 tick 不再补发:等待 117 s 后不会一次推出 60 份相同的快照。

@stqfdyr
stqfdyr force-pushed the fix/db-lock-off-runtime branch from 5a74c0b to 5658b5e Compare October 6, 2026 14:33
@stqfdyr
stqfdyr merged commit edbc0a1 into main Oct 6, 2026
1 check passed
@stqfdyr
stqfdyr deleted the fix/db-lock-off-runtime branch October 6, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant