TDSQL Boundless YCSB 测试(HBase 兼容模式)

这篇档介绍 TDSQL Boundless HBase 兼容接口的性能测试结果。测试采用业界标准的 YCSB(Yahoo! Cloud Serving Benchmark)工具,覆盖多种典型业务场景,全面评估 TDSQL Boundless HBase 兼容接口在不同负载下的吞吐量和延迟表现。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

三、硬件配置

配置项 规格
CPU 16核
内存 32GB
节点数 4节点
存储类型 云盘

四、数据规模

参数 值
总数据行数 3亿行
列族数量 1个(单 CF)
每行列数 100列
Value 大小 20Bytes
分区数量 8
测试时长 300秒/测试项

五、软件版本

节点类型 版本
HyperNode V21.6.3.0

七、单列操作场景

场景 配置说明
GET 场景 3亿行基础数据,每行数据100列,value 为20bytes,查询区间3000万行,每次操作读取1列。
SCAN 场景 3亿行基础数据,每行数据100列,value 为20bytes,查询区间3000万行,每次范围读取1 ~ 50行,每行获取1列。
PUT 场景 3亿行基础数据,每行数据100列,value 为20bytes,插入区间3亿行,每次操作写入1列。

八、YCSB 标准 Workload 场景

场景 读写比例 配置说明
Workload A 50% GET + 50% PUT 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,GET 和 PUT 固定访问 f0 ~ f19共20列。
Workload C 100% GET 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,GET 操作固定访问 f0 ~ f19 共20列。
Workload E 95% SCAN + 5% PUT 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,Scan 和 PUT 固定访问 f0 ~ f19 共20列,Scan 范围1 ~ 100行。

九、参数配置

测试中对 HBase Client 进行了以下参数优化,以充分发挥系统性能:

<property> <name>hbase.client.ipc.pool.size</name> <value>16</value> <!– RPC 连接池大小 –> </property> <property> <name>hbase.client.ipc.pool.type</name> <value>RoundRobinPool</value> </property> <property> <name>hbase.client.max.total.tasks</name> <value>16</value> <!– 客户端最大并发任务数 –> </property> <property> <name>hbase.client.max.perserver.tasks</name> <value>16</value> <!–每个 RegionServer 的最大并发任务数–> </property>

十一、GET 场景(单列点查)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,查询区间3000万行,每次操作读取1列。

线程数 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
128 34,306 3,725 1,525 10,055 12,815 34%
1024 34,555 29,565 3,069 98,175 125,119 38%

十二、SCAN 场景(范围查询)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,查询区间3000万行,每次范围读取1 ~ 50行,每行获取1列。

线程数 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
128 7,725 16,548 15,919 29,967 37,343 93%
1024 8,281 123,418 112,383 186,623 216,447 97%

十三、PUT 场景(单列写入)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,插入区间3亿行,每次操作写入1列。

线程数 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
128 69,372 1,841 1,771 2,521 3,523 56%
1024 100,668 10,146 5,787 26,319 31,263 97%

十四、Workload A(50% GET + 50% PUT)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,GET 和 PUT 固定访问 f0 ~ f19 共20列。

十五、128线程

操作 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
READ 47,006 2,419 1,764 4,851 17,183 68%
UPDATE      

十六、1024线程

操作 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
READ 49,453 15,761 7,231 58,015 120,447 76%
UPDATE      

十七、Workload C(100% GET)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,GET 操作固定访问 f0 ~ f19 共20列。

线程数 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
128 67,755 1,885 1,447 4,475 5,987 63%
1024 66,975 15,250 3,855 47,679 62,943 67%

十八、Workload E(95% SCAN + 5% PUT)

场景配置: 3亿行基础数据,每行数据100列,value 为20bytes,数据区间3亿行,Scan 和 PUT 固定访问 f0 ~ f19 共20列,Scan 范围1 ~ 100行

十九、128线程

操作 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
SCAN 13,317 9,918 9,439 16,975 21,871 81%
INSERT      

20、1024线程

操作 QPS 平均延迟(μs) 50% 延迟(μs) 95% 延迟(μs) 99% 延迟(μs) CPU
SCAN 13,727 77,140 68,799 121,855 141,823 84%
INSERT      
赞 (0)
上一篇 4天前
下一篇 4天前