本文刊于《中国金融电脑》2025 年第 1 期。转自“中国金融电脑”公众号。

作者:SmartX 金融团队

面对复杂多变的国际环境和信息技术的快速迭代,中国金融科技领域正面临前所未有的挑战与机遇。一方面,国家鼓励金融机构采用国产自主可控的技术与产品,加强金融体系的信息安全与技术独立性;另一方面,数智化转型浪潮席卷而来,金融机构需要以现代化的 IT 基础设施支持业务快速发展,满足日益增长的个性化、智能化金融服务需求。

在这一背景下,金融机构的信息技术创新与现代化转型也深入到数据库和 IT 基础架构层面。其中,GaussDB 作为国产分布式数据库的代表之一,具备卓越的高可用性、分布式扩展能力以及与国产硬件的深度适配性,在金融行业得到广泛的应用。虽然目前很多实际部署的场景中,国产分布式数据库基于物理机的部署形态比较普遍,但很多金融用户也十分关注基于国产虚拟化的超融合平台支持国产分布式数据库的性能表现,尤其是如何在虚拟化环境中降低性能开销,以及如何为一些非极端/关键业务场景提供高性能支持与高效的资源利用。

基于此,本文以 GaussDB 在 SmartX 超融合信创平台的实践验证为切入点,通过全面的测试与分析,探索国产分布式数据库在超融合环境中的应用价值与优化方案,为金融机构构建安全、高效的数字基础设施提供更多思路与参考。

重点结论

  • 数据库参数调优测试:将 shared_buffers 从默认的 1GB 调整至 45GB 后,超融合海光测试环境中单实例数据库性能相较优化前提高了约 310%。
  • 资源分配与并发性能测试:更多的计算资源能够显著提高系统的并发处理能力,SmartX 超融合也可良好支持 GaussDB 的资源横向扩展特性,保证数据库并发性能随资源扩展而提升。
  • 虚拟化网络优化测试:GaussDB 采用一主两从部署在超融合鲲鹏平台,400 并发下采用 SR-IOV 网络的性能相比使用 VIRTIO 网络的性能提升约 25%。
  • 虚拟化与裸金属性能对比测试:使用 VIRTIO 网络和 SR-IOV 网络时,超融合虚拟化支持数据库的吞吐量相较于裸金属环境均存在一定差距,不过 SR-IOV 优化技术可显著提高虚拟化平台的性能。

下载《SmartX 产品在数据库场景下的测试与实践合集》(2024.12 更新版),了解 7 例信创数据库在超融合平台上的性能表现!

测试背景与目标

测试背景

国产分布式数据库采用基于物理机的部署模式可以提升集群整体的并发性能,但在扩展灵活性、故障恢复、部署成本等方面,依旧存在一些弊端:

  • 扩展灵活性:集群扩展时需要增加物理节点,难以灵活按需扩展。
  • 故障恢复:以物理机进行部署时,若单节点故障,可能需要重新部署节点、数据同步和恢复操作,导致数据副本降级时间较长且运维操作复杂。
  • 部署成本:对于一些负载相对适中的应用,选用低配置物理硬件会增加数据中心的托管成本,选用高配置硬件也未必能有效提升整体资源的利用率。

基于这一背景,采用融合计算虚拟化与分布式存储的超融合架构,能够为国产分布式数据库的灵活、高可靠部署,提供新的技术路径。作为国内专业的超融合厂商,SmartX 超融合(SMTX OS)以自研分布式存储为核心,兼具轻量解耦、生产就绪、安全可靠、灵活扩展等优势,并可在硬盘或存储节点故障时自动完成副本切换与数据恢复,显著简化运维流程,减少业务中断时间,因此成为金融机构平衡数据库部署成本、性能、可靠性与灵活性的可行方案。基于此,以下将通过测试探索基于 SmartX 超融合架构部署 GaussDB 的性能表现,及其性能优化方案。

测试要点

  • 性能差异的评估:分布式数据库在虚拟化环境中运行时,虚拟化层的资源调度和隔离机制可能带来一定的性能开销,实际性能与裸金属环境之间可能存在差距。
  • 资源分配评估:评估通过调整虚拟机资源分配(如 CPU、内存、存储配置)和数据库参数设置对分布式数据库性能的优化效果,探索虚拟化环境下数据库性能表现的差异。
  • 性能优化方向的探索:评估通过引入新技术(如 SR-IOVRDMAvhost 等)来优化虚拟化性能,分析这些技术在减少性能开销和提升数据库性能方面的效果。
  • 国产化硬件适配性验证:分别在鲲鹏和海光 CPU 环境中进行部署测试,验证其性能表现。

测试环境与方法

本次测试采用了标准的 TPC-C 测试模型,模拟金融行业中高并发事务处理的需求,对比测试 GaussDB 在 SmartX 超融合信创平台(海光和鲲鹏环境)与裸金属环境中的性能表现。测试方法的设计遵循以下几个关键步骤:性能基线测试、资源分配优化、数据库参数调优、高并发负载测试、虚拟化优化技术验证以及数据与业务可靠性测试。

本次测试中,海光和鲲鹏环境各采用了三台服务器,除下文中数据库参数调优测试和资源分配与并发性能测试(海光环境)是基于单实例外,其它各项测试均使用“一主两从”的集群模式进行部署。海光服务器单节点共 64 个物理核心(128vCPU),鲲鹏服务器单节点最大 96 个物理核心;裸金属基准性能测试均使用全部核心进行压测。海光和鲲鹏平台均启用了 vhost 特性,以优化虚拟化环境中的 I/O 性能。鲲鹏平台额外开启 RDMA 支持,而海光平台未启用 RDMA,以便对比两者在存储网络性能上的差异。

基于海光平台的测试架构及配置

硬件配置

测试环境配置

基于鲲鹏平台的测试架构及配置

硬件配置

测试环境配置

评估指标

为了确保性能评估的全面性和可比性,我们选用了 TPC-C 基准测试模型,该模型广泛应用于数据库性能测试,能够模拟金融行业典型的高并发事务处理场景。测试中通过事务吞吐量(tpmC)衡量数据库系统每分钟处理的事务数量,作为系统整体性能的核心指标。该指标反映了数据库在高并发场景下的处理能力,数值越高,代表数据库性能越高,业务响应速度越快。

测试步骤

  1. 在海光和鲲鹏平台上分别部署裸金属环境和虚拟化环境,进行默认配置的性能基线测试,以了解不同硬件和架构的性能差异。
  2. 通过动态调整虚拟机资源配置(如 CPU 核心数、内存大小、存储 I/O 带宽等)以及数据库参数(如 wal_buffers、shared_buffers 等),评估不同资源分配与调优措施对性能的提升效果。
  3. 进入高负载测试阶段,逐步增加并发数(100、200、500 等),模拟金融行业典型的高并发场景,以验证虚拟化环境下的性能稳定性。
  4. 进一步优化虚拟化开销,引入 SR-IOV、RDMA 和 vhost 等 SmartX 超融合虚拟化优化技术,评估网络性能提升和延迟降低的实际效果。

数据采集与分析

测试过程中,所有性能数据将通过 SmartX 超融合内置的监控工具和 BenchmarkSQL 工具实时采集。数据主要用于评估不同配置、负载和优化措施对性能的影响,为后续的性能优化提供参考。

测试结果与分析

数据库参数调优分析

在不同的 CPU 和内存配置下,GaussDB 在安装后的默认参数设置会有所不同,这可能导致数据库在不同部署模式下表现出较大的性能差异。特别是在虚拟化环境中,由于虚拟机与物理机的 CPU 和内存分配方式不同,GaussDB 的内存和线程配置也会发生变化,进而影响其性能。这种差异通常在虚拟机资源扩容或硬件配置变动后尤为明显,因此,合理的数据库参数调优对于数据库性能的提升至关重要。

在GaussDB的默认配置下,shared_buffers 通常设置为 1GB,max_process_memory 等参数则依据内存大小自动分配。这些默认配置在资源较为有限的情况下可能无法充分利用硬件资源,通过调整 shared_buffers,能够提高数据库的内存利用率,优化数据写入和缓存机制,尤其是在虚拟化环境中,能够减少内存和 I/O 瓶颈。

本次测试中,由于多实例模式涉及主从复制和数据同步,可能引入额外开销,因此选择基于单实例部署进行测试,以便更好地关注数据库与硬件、虚拟化平台之间的性能关系。测试结果显示,基于 32vCPU、128GB 内存的虚拟机配置,将 shared_buffers 从默认的 1GB 调整至 45GB 后,超融合海光测试环境中单实例数据库性能(178438 tpmC)相较优化前(43470 tpmC)提高了约 310%。

资源分配与并发性能分析

在虚拟化环境中,数据库的并发处理能力与计算资源(如 vCPU 核心数)密切相关。为验证资源配置对并发性能的影响,测试中使用了不同的 CPU 核心数和固定内存的优化模式。结果表明,更多的计算资源能够显著提高系统的并发处理能力,同时在配置变化或资源扩容后,数据库并发性能也会随之提升,表明 SmartX 超融合可良好支持 GaussDB 的资源横向扩展特性。

基于 SmartX 超融合海光平台的测试结果显示,在单实例部署、基于相同的内存优化配置并使用 VIRTIO 网络时,增加 CPU 核心数可显著提升数据库的吞吐量和并发处理能力,尤其在高并发负载场景中表现尤为突出:500 并发下 64vCPU 配置性能(249666 tpmC)相比 32vCPU 配置性能(173620 tpmC)提升约 44%。

基于 SmartX 超融合鲲鹏平台的测试结果显示,在一主两从部署、基于相同的内存优化配置并使用 VIRTIO 网络时,增加 CPU 核心数亦可显著提升数据库吞吐量和并发处理能力。其中,500 并发下 62vCPU 配置性能(252544 tpmC)相比 24vCPU 配置性能(134699 tpmC)提升约 87%,200 并发下 83vCPU 配置性能(280560 tpmC)相比 62vCPU 配置性能(262669 tpmC)提升约 7%。

虚拟化网络优化分析

在传统的虚拟化环境中,虚拟机通过虚拟交换机进行网络通信。由于引入了额外的软件层,限制了虚拟机对网络资源的直接访问,特别是在处理大规模网络流量的场景下,软件层可能成为性能瓶颈。此外,GaussDB  在生产中多采用一主多从同步复制的部署方式,因此整体性能受主从实例间网络延迟影响较大。通过给虚拟机配置支持 SR-IOV 特性的低延迟网卡,可以进一步降低虚拟机网络延迟,使得虚拟机获得接近物理主机的网络性能,提升分布式数据库集群的整体性能。

测试结果表明,GaussDB 数据库采用一主两从虚拟化部署在超融合鲲鹏平台(83C,156G),在 400 并发下采用 SR-IOV 网络的性能(338764 tpmC)相比使用 VIRTIO 网络的性能(271529 tpmC)能提升约 25%。

虚拟化与裸金属性能对比分析

测试进一步对比了 GaussDB 在超融合虚拟化与裸金属环境中的性能表现。在虚拟化环境中,虚拟机分配了最大资源,以确保最佳性能。在裸金属环境中,GaussDB 直接使用所有物理资源,没有虚拟化层带来的性能开销。所有测试均使用一主两从的方式进行部署,并使用相同的数据库配置参数,确保不同环境的测试条件尽可能一致。测试结果显示,在虚拟化环境中,使用 VIRTIO 网络和 SR-IOV 网络时,超融合虚拟化平台的吞吐量相较于裸金属环境均存在一定差距,不过 SR-IOV 优化技术在减少网络开销和提升数据传输效率方面起到了关键作用,显著提高了虚拟化平台的性能。

基于超融合海光平台的测试结果显示,使用 VIRTIO 网络时,超融合虚拟化环境支持 GaussDB 的吞吐量平均约为物理机环境的 70%。

基于超融合鲲鹏平台的测试结果显示,使用 SR-IOV 网络时,超融合虚拟化环境支持 GaussDB 的吞吐量平均约为物理机环境的 92%。

结论与启示

SmartX 超融合基础设施通过融合部署的形式,提供分布式存储、计算虚拟化、网络、数据保护、运维管理等全栈基础设施服务。通过启用 SmartX 超融合高级特性,如 vhost、RDMA 功能、SR-IOV 特性、常驻缓存功能等,SmartX 超融合可显著提升虚拟机性能、降低网络延迟、加速存储读写能力,为 GaussDB 等国产分布式数据库提供高性能、高可靠、易扩容的基础架构支持。

同时,结合数据可以看到,SmartX 超融合能为国产数据库提供更加灵活的资源分配策略,以更少的资源使用满足关键业务系统的性能需求:例如,鲲鹏环境中,物理机共 96 Core CPU,SmartX 超融合虚拟化平台分配 25% 物理资源(24C vCPU),在 500 并发下即可达到 134699 tpmC,是物理机使用全部资源时性能(333161 tpmC)的 40%。这也意味着,SmartX 超融合能够实现单套物理资源的多样化利用,例如在支持 GaussDB 的同时,系统可以灵活承载更多的数据库实例或其他业务系统,避免了物理机环境下资源单一绑定造成的资源浪费,为金融机构的资源敏感型场景提供了更优的部署方案。


更多 SmartX 超融合与分布式存储在数据库场景下的探索与验证,欢迎扫码下载《SmartX 产品在数据库场景下的测试与实践合集》(2024.12 更新版,收录 7 例信创数据库在超融合平台上的性能评测)

推荐阅读:

继续阅读