Files
Baradb/docs/zh/performance.md

1.9 KiB

性能指南

基准测试方法论

所有基准测试使用:

  • 编译器: Nim 2.2.0 配合 -d:release --opt:speed
  • CPU: AMD Ryzen 9 5900X (12 cores / 24 threads)
  • 内存: 64 GB DDR4-3600
  • 存储: Samsung 980 Pro NVMe SSD
nim c -d:ssl -d:release -r benchmarks/bench_all.nim

存储引擎基准测试

LSM-Tree 键值

指标
写入吞吐量 ~580,000 ops/s
读取吞吐量 ~720,000 ops/s
平均写入延迟 1.7 µs
平均读取延迟 1.4 µs

B-Tree 索引

指标
插入吞吐量 ~1,200,000 ops/s
点查询吞吐量 ~1,500,000 ops/s
范围扫描 (1000 keys) ~0.3 ms

向量引擎基准测试

HNSW 索引

指标
插入 (dim=128) ~45,000 vectors/s
搜索 top-10 (n=100K) ~8 ms
每向量内存 (dim=128) ~580 bytes

参数: M=16, efConstruction=200, efSearch=64

SIMD 距离函数

操作 dim=128 dim=768 dim=1536
Cosine distance 4.2M/s 850K/s 420K/s
L2 (Euclidean) 4.5M/s 920K/s 450K/s
Dot product 4.8M/s 980K/s 480K/s

协议基准测试

协议 连接数 查询/秒 p99 延迟
Binary (localhost) 1 45,000 0.4 ms
Binary (localhost) 100 380,000 1.2 ms
HTTP/REST 1 12,000 2.1 ms
HTTP/REST 100 95,000 5.8 ms

调优指南

写密集型工作负载

BARADB_MEMTABLE_SIZE_MB=256
BARADB_WAL_SYNC_INTERVAL_MS=10
BARADB_COMPACTION_INTERVAL_MS=30000

读密集型工作负载

BARADB_CACHE_SIZE_MB=1024
BARADB_BLOOM_BITS_PER_KEY=10
BARADB_COMPACTION_INTERVAL_MS=120000

向量搜索

BARADB_VECTOR_EF_CONSTRUCTION=200
BARADB_VECTOR_EF_SEARCH=128
BARADB_VECTOR_M=32

图分析

BARADB_GRAPH_PAGE_RANK_ITERATIONS=20
BARADB_GRAPH_LOUVAIN_RESOLUTION=1.0