梧桐数据库大数据实时查询场景性能测试报告
测试目标和范围
测试 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(R) Xeon(R) Gold 5218R CPU @ 2.10GHzCPU 架构:x86_64是否支持 avx:支持CPU 颗数:2每颗 CPU 物理核数:20每颗 CPU 超线程核数:2内存:376G系统盘:446.6 GiB数据盘:12.2T网络宽带:万兆
CPU:Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHzCPU 架构:x86_64是否支持 avx:支持CPU颗数:2每颗 CPU 物理核数:24每颗 CPU 超线程核数:2内存:376G系统盘:446.6 GiB数据盘:14.6 TiB * 10网络宽带:万兆
其他相关信息
使用 31 列,约 12 亿行数据的 magma 表进行测试。
测试模拟业务通过 JDBC 进行正常调用场景,同时采用 20w 不同 id 进行请求,避免缓存影响。
测试表 DDL 如下(已脱敏处理):
CREATETABLEtest_table(
m_idtext,
d2text,
d3text,
d4text,
d5text,
d_typetext,
d7text,
d8text,
d9text,
is1text,
is2text,
is3text,
is4text,
is5text,
d10text,
is6text,
d11text,
is7text,
is8text,
is9text,
is10text,
d12text,
is11text,
d13text,
d14text,
d15text,
d16text,
d17text,
d18text,
d19text,
timetext)
FORMAT'MAGMAAP'TABLESPACEmagma_default01;
测试查询 SQL 如下(已脱敏处理):
select*fromtest_namespace.test_tablewherem_id='12300010001'andtime='20240101'andd_type=1;
其中对 id,type,time 建立联合唯一索引,加快查询速度。
CREATEINDEXidx_mid__time_dtype_magma_test_tableONmagma.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 存在瓶颈,可考虑增加存储节点数量。