Skip to content

docs(readme): 更新为实测层次性能对比 + standalone 存储 WAL 耐久性#158

Merged
NeverENG merged 1 commit into
mainfrom
docs/readme-perf-durability
Jul 19, 2026
Merged

docs(readme): 更新为实测层次性能对比 + standalone 存储 WAL 耐久性#158
NeverENG merged 1 commit into
mainfrom
docs/readme-perf-durability

Conversation

@NeverENG

Copy link
Copy Markdown
Owner

更新 README 使其与当前实现一致,并补上本轮性能优化的实测数据。

修正过时内容

  • 删除"存储层自身无 WAL""崩溃恢复均由 Raft 负责"等已不成立的描述。
  • 架构图/说明补齐:双入口(BanNet + gRPC)汇聚到同一 KVServer;standalone 存储层 WAL(group commit + checkpoint 自清洁);SSTable 重启重载恢复。

新增「性能:各层开销实测对比」

路径 并发 QPS P50
GET(纯内存) 50 16,806 2.45ms
PUT 改前(每写 fsync) 50 225 203ms
PUT group commit 50 6,087 8ms
PUT group commit 200 22,231 8ms

量化了写路径瓶颈 100% 在 fsync(225≈本机单次 fsync 上限),以及 group commit 让吞吐随并发摊销。

其他

核心能力补背压/边缘查询/可观测性;路线图勾掉已完成项。

🤖 Generated with Claude Code

原 README 的存储/耐久性描述已过时("存储层自身无 WAL"、"崩溃恢复均由 Raft
负责"),且缺 gRPC 入口、standalone 模式、写路径背压与边缘查询等已落地能力。

- 架构图/说明补齐双入口(BanNet+gRPC)汇聚到同一 KVServer、standalone 存储层
  WAL(group commit+checkpoint)与 SSTable 重启重载恢复路径。
- 新增「性能:各层开销实测对比」:GET 16.8k qps vs 改前 PUT 225 qps(fsync 封顶)
  vs group commit 后 c=50 6087 / c=200 22231 qps,量化各层真实开销与 fsync 瓶颈。
- 核心能力补背压/边缘查询/可观测性;路线图勾掉已完成项。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@NeverENG, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 26 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6c0d6d00-011a-447f-8a20-f01e73dcb814

📥 Commits

Reviewing files that changed from the base of the PR and between 51d82b0 and 2820a02.

📒 Files selected for processing (1)
  • README.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-perf-durability

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@NeverENG
NeverENG merged commit 3d935df into main Jul 19, 2026
3 of 4 checks passed
@github-actions

Copy link
Copy Markdown

🐯 BanGD 数据库内核评审

整体风险:🟢 低

变更总结:这是一个纯文档(README.md)更新 PR,目的是使文档与当前实现一致。核心变更包括:1) 删除过时描述("存储层自身无 WAL""崩溃恢复均由 Raft 负责")——反映出 standalone 模式已添加独立存储层 WAL(group commit + checkpoint 自清洁)与崩溃恢复;2) 架构图补齐双入口(BanNet + gRPC → 同一 KVServer)、standalone 写路径经存储层 WAL、SSTable 重启重载;3) 新增端到端压测数据表,量化 group commit 的性价比(每写 fsync 225 qps → group commit 22k qps);4) 核心能力清单补上背压、边缘范围查询、可观测性;5) 路线图勾掉已完成项。不涉及任何代码变更。

本评审不阻塞合入;架构级建议以 Issue 形式跟踪,普通问题在下方内联列出。

未发现需要从架构层面改进的问题。


本次评审消耗 token:共 16690 tokens(输入 10109,输出 309,缓存命中 6272,缓存写入 0)|维度 [concurrency, memory, lock, storage, performance]|对抗式复核 3 票/条,过滤疑似误报 0 条

NeverENG added a commit that referenced this pull request Jul 19, 2026
记录本轮从「PUT 225 qps 反常」出发的完整排障链:实测归因 fsync 瓶颈→
group commit→写恢复测试挖出 SSTable 重载致命 bug(重启丢数据)→WAL 自清洁→
自审堵上原子重写窗口。关联 PR #150/#153/#157/#159/#158。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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