梧桐数据库大数据实时查询场景性能测试报告
测试目标和范围
测试 magma 引擎下,梧桐数据库实时查询性能指标。
测试环境
操作系统
BigCloud Enterprise Linux release 8.2.2107 (Core)
软件版本
WuTongDB 1.x,HDFS 3.1.0-bc3.0.1,Hive 3.1.0-bc3.0.1
硬件配置
采用 3 存储节点、3 计算节点部署测试,配置如下
CPU:Intel® Xeon® Gold 5218R CPU @ 2.10GHz
CPU 架构:x86_64
是否支持 avx:支持
CPU 颗数:2
每颗 CPU 物理核数:20
每颗 CPU 超线程核数:2
内存:376G
系统盘:446.6 GiB
数据盘:12.2T
网络宽带:万兆
CPU:Intel® Xeon® Gold 6248R CPU @ 3.00GHz
CPU 架构:x86_64
是否支持 avx:支持
CPU颗数:2
每颗 CPU 物理核数:24
每颗 CPU 超线程核数:2
内存:376G
系统盘:446.6 GiB
数据盘:14.6 TiB * 10
网络宽带:万兆
其他相关信息
使用 31 列,约 12 亿行数据的 magma 表进行测试。
测试模拟业务通过 JDBC 进行正常调用场景,同时采用 20w 不同 id 进行请求,避免缓存影响。
测试表 DDL 如下(已脱敏处理):
CREATE TABLE test_table(
m_id text ,
d2 text,
d3 text,
d4 text,
d5 text,
d_type text,
d7 text,
d8 text,
d9 text,
is1 text,
is2 text,
is3 text,
is4 text,
is5 text,
d10 text,
is6 text,
d11 text,
is7 text,
is8 text,
is9 text,
is10 text,
d12 text,
is11 text,
d13 text,
d14 text,
d15 text,
d16 text,
d17 text,
d18 text,
d19 text,
time text )
FORMAT 'MAGMAAP' TABLESPACE magma_default01;
测试查询 SQL 如下(已脱敏处理):
select * from test_namespace.test_table where m_id='12300010001' and time='20240101' and d_type=1 ;
其中对 id,type,time 建立联合唯一索引,加快查询速度。
CREATE INDEX idx_mid__time_dtype_magma_test_table ON magma.ads_rh_user_terminal_info_scd (m_id,time,d_type);
测试用例及测试结果
测试使用 JMeter,采用不同线程数(10、30、60、100、200)对接口进行压力测试,每次采用不同 id 压力测试 300 秒,观察响应成功率与时延表现情况。
接口采用 SpringBoot 构建,示例如下:
10 并发线程
30 并发线程
60 并发线程
100 并发线程
200 并发线程
结论
将本次压测的线程数与TPS对应关系进行画图:
总结:3 个节点的magma集群,在并发线程数到达75时性能达到最佳,TPS可达到2400左右。
结论:梧桐数据库 magma 表在 3 节点实时查询场景下可基本满足 2500tps 左右的并发需求,最佳并发线程在 60~100 之间,查询时延稳定在 50ms 内。后续增大线程数,时延将逐步上升,经监控定位,此时磁盘 IOPS 存在瓶颈,可考虑增加存储节点数量。
版权归原作者 Jim.Green 所有, 如有侵权,请联系我们删除。