本节介绍openGauss内存优化表(MOT)的MOT性能基准。
我们的性能测试基于工业界和学术界常用的TPC-C基准。
测试使用 BenchmarkSQL(请参阅MOT 示例 TPC-C 基准)并使用交互式 SQL 命令而不是存储过程来生成工作负载。
评估 openGauss MOT 性能和磁盘性能的所有测试均使用 MOT 中的同步日志记录和优化的 group-commit=on 版本。
最后,我们进行了额外的测试,以评估 MOT 快速捕获大量数据的能力,作为中间层数据捕获解决方案的替代方案。
所有测试将于2020年6月完成。
以下是各种类型 MOT 的性能基准:
本次测试使用的服务器满足10GbE组网且配置如下:
MOT 将磁盘表性能提升 2.5 至 4.1 倍,在 Arm/鲲鹏 256 核服务器上达到 480 万 tpmC。测试结果清楚地证明了 MOT 扩展和利用所有硬件资源的卓越能力。随着CPU插槽和服务器核心数量的增加,性能也会相应跃升。
MOT在Arm/鲲鹏架构下最高可达30,000 tpmC/核,在x86架构下最高可达40,000 tpmC/核。
由于更高效的持久化机制,MOT中的复制开销在Arm/鲲鹏主备高可用场景下为7%,在x86服务器上为2%。磁盘表的开销在Arm/鲲鹏中为20%,在x86中为15%。
最终,MOT延迟降低了2.5倍,TPC-C事务响应速度提高了2到7倍。
MOT高通量测试结果如下。
性能
下图是华为Arm/鲲鹏2路128核服务器的TPC-C基准测试结果。
总共进行了四种类型的测试:
MOT 以橙色显示,基于磁盘的表以蓝色显示。
图1Arm/鲲鹏2路128核性能基准
下面使用单一连接数的tpmC来演示MOT优秀的并发控制性能。
图3Arm/鲲鹏4路256核性能基准
结果显示,随着核心数量的增加,性能也显着提升,在768核心下达到了480万tpmC的峰值。
下面通过比较基于磁盘的表和MOT在tpmC中的单连接数,展示了MOT优异的并发控制性能。本次测试以8路384核x86服务器为例。橙色表示 MOT 结果。
图 4 8 路 384 核 x86 服务器性能基准测试
结果表明,在386核服务器上,MOT的性能明显优于基于磁盘的表,并且单核性能非常高,达到300万tpmC/核。
在4路96核服务器上,MOT实现了390万tpmC。下图显示,高效MOT的单核性能达到40,000 tpmC/核。
图5 4路96核服务器性能基准测试
以下是在Arm/鲲鹏双路服务器(128核)上测试的结果。单位是毫秒 (ms)。
图 1 低延迟 (90%) 性能基准
MOT 的平均事务速度为 2.5 倍,MOT 延迟为 10.5 毫秒,基于磁盘的表延迟为 23 至 25 毫秒。
图 2 低延迟(90%,事务平均值)性能基准
MOT 完全集成到 openGauss 中,包括支持主备部署的高可用性场景。 WAL重做日志复制机制会将更改复制到数据库备用节点并使用备用节点进行重放。
如果发生故障转移事件,无论是由于计划外的主节点故障还是计划内的维护事件,备用节点都会快速变为活动状态。恢复和重播 WAL 重做日志以及启用连接所需的时间也称为恢复时间目标 (RTO)。
openGauss(包括MOT)由于其并行恢复机制,RTO小于10秒。
冷启动恢复时间是系统从停止模式进入完全运行状态所需的时间。在内存数据库中,这包括将所有数据和索引加载到内存中的时间,因此它取决于数据大小、硬件带宽以及软件算法是否可以有效地处理数据。
MOT测试采用40GB/s ARM磁盘测试,可以100GB/s加载数据库。 MOT 的索引不是持久性的,因此它们是在冷启动时创建的。实际加载的数据加上索引大小大约多出 50%。因此,可以换算成MOT冷启动时间的数据和索引容量为40秒内150GB,即225GB/分钟(3.75GB/秒)。
冷启动过程以及将数据从磁盘加载到MOT所需的时间如下图所示。
图 1冷启动时间性能基准
在 512GB RAM 的 4 路 96 核 x86 服务器上测试的资源利用率如下。 MOT可以高效、持续地消耗几乎所有可用的CPU资源。例如192核390万tpmC的CPU利用率几乎达到100%。
图 1 资源利用率性能基准
该测试模拟海量物联网、云或移动端接入的实时数据流,快速、持续地将海量数据注入数据库。
👍赞,您的认可就是我创作的动力!
⭐️收藏,您的青睐就是我努力的方向!
✏️评论,您的意见是我进步的财富!