FoundationDB 性能评估报告 #1383
yangyang233333
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
FoundationDB 性能评估报告
1. 测试环境
1.1 集群规模
1.2 单机硬件配置(每节点一致)
1.3 进程编排与部署配置
FoundationDB 单个 fdbserver 进程是单线程的,要充分利用多核 CPU 与多块 NVMe,需要按角色(class)拆分并显式隔离进程。基于 官方 Performance 文档「一核一进程、按角色分工」的原则,每节点编排如下(共 32 进程):
集群级配置(
fdbcli> configure):关键设计要点:
memory = 6GiB,防止极限压测下 32 进程 × 默认 8GiB 上限相加触发 OOM。全集群角色分布(96 进程):storage × 72、tlog × 6、grv_proxy × 6、commit_proxy × 3、resolver × 1、coordinator × 3、master/cluster_controller/data_distributor/ratekeeper 各 1。
2. 测试方法
fdbserver -r multitest协调器 + 多个-c testtester)。压测客户端运行在独立压测机,不占用 FDB 节点资源,版本与集群一致(7.3.77)。ReadWriteworkload,16B key / 100B value,每轮 60s(key 空间大小见各 workload 的 nodeCount)。readsPerTransactionA=1, writesPerTransactionA=0, alpha=0alpha=1, writesPerTransactionB=1, readsPerTransactionB=0A: 10读; B: 1读9写; alpha=0.1transactionsPerSecond为全局目标(分摊到所有 client),非每 client。实测应观察Retries,若 >0 表示超发、数据失真。3. 结果
所有结果按「测试配置」逐行记录,便于单客户端与多客户端横向对比。延迟单位 ms,TPS/QPS 为每秒事务/操作数。
3.0 并发模型说明
-c test),压测靠多 client 横向扩展。每个 client 的事务逻辑运行在单个网络线程上,故单 client 吞吐受单核限制。3.1 纯读(point_read,每事务 1 读;key=16B, val=100B)
3.2 纯写(write,每事务 1 写;key=16B, val=100B)
3.3 读写混合(mixed,≈91%读/9%写,每事务约10操作;key=16B, val=100B)
4. 结论
(待补充)
All reactions