在《VMware 与 SmartX 分布式存储缓存机制浅析与性能对比》中,我们分析了 vSAN 7 缓存击穿的问题及其原因。近期,某金融用户在进行数据仓库分布式存储选型时,同样遭遇了测试过程中 vSAN 出现缓存击穿而难以完成全量跑批任务的问题。随后,用户采用 SmartX 超融合(内置分布式存储 ZBS)进行跑批测试与性能优化,经过多轮测试验证,SmartX 超融合可稳定承载 Oracle 数据仓库 BI 系统,并有效缩短跑批时间约 42%(从生产环境的 8.5 小时缩短至低于 5 小时),满足客户在性能及稳定性方面的要求。本文,我们将对这一测试实践进行分享,为有需求的读者提供参考。
更多数据库与数据仓库场景探索实践,欢迎下载阅读《金融核心生产业务场景探索文章合集》系列电子书(已更新为 3 册合集)。
测试背景
某金融客户在生产环境中使用 x86 服务器和全闪集中式存储 EMC PowerMax 支撑 Oracle 数据仓库,为 BI 系统提供数据收集、整合、分析和呈现支持,帮助企业进行决策制定和业务洞察。而随着业务开展,PowerMax 使用已超过 3 年,剩余存储空间不足,难以应对未来数据增长。同时,由于存储使用 8GB FC HBA 卡,难以充分发挥 NVMe 的性能优势。基于这些问题,用户考虑对生产环境存储系统进行更换,以更先进的分布式存储进行架构升级。
用户首先对 vSAN 架构进行 BI/DW 跑批测试。然而,测试过程中发现,vSAN 由于受到磁盘组写缓存 600G 上限影响(7:3 读写),在全量跑批场景下 10 分钟就出现缓存击穿情况,导致整体性能下降,影响其他业务系统 VM,无法完成跑批任务。为了避免击穿问题,用户只能以限速 30MB/s 进行抽量跑批(全量跑批 ⅓ 数据量),不仅无法充分利用闪存性能,更不能在生产环境要求的时间窗口(8.5 小时)内完成全量数据跑批任务。
发现 vSAN 难以满足生产需求后,用户转向考虑其他分布式存储方案。在了解到 SmartX 超融合(内置自研分布式存储 ZBS)丰富的金融生产环境案例与优化的缓存机制后,用户计划对 SmartX 超融合环境下的 BI/DW 进行多轮跑批测试,验证性能和可靠性。
测试目标与项目
本次测试关注 Oracle 数据仓库在 SmartX 超融合架构下的跑批性能优化效果,通过 3 轮多次跑批测试(基于不同存储硬件),对比生产环境集中式存储方案、vSAN 方案和 SmartX 超融合架构下 Oracle 数据仓库的存储性能和跑批时间。具体验证项目如下:
- 观察在多轮跑批测试中,SMTX OS 是否会出现缓存击穿的情况。
- 验证基于 SMTX OS 的跑批时间能否满足生产环境 8.5 小时的时间窗口要求。
- 验证 SmartX 超融合架构能否同时承载 BI/DW 及新的 SQLServer 数据库,同时满足 I/O 性能要求。
环境与配置
测试架构与软硬件配置
软件版本:
- vSAN 环境:vSAN 7.0u3
- SmartX 超融合环境:超融合软件 SMTX OS 5.1.0、集群管理 CloudTower 3.0、vSphere 7.0U3
业务资源配置
测试过程与结果
第一轮测试
第一轮跑批使用 HCL 以外磁盘进行测试(Kioxia CD7 NVMe SSD),与 vSAN 测试环境相同。结果如下:
- vSAN 环境跑批结果:写缓存击穿,抽量跑批,关闭归档。
- SmartX 测试跑批:写缓存命中率基本接近 100%,没有出现缓存击穿情况;首轮跑批全量数据 9 小时内完成,可基本满足当前日常跑批需求,但仍可寻找更优方案。
第一轮测试 – SmartX 超融合环境下数仓跑批写缓存命中率表现
第二轮测试
为进一步提升性能表现,第二轮测试更换使用 Intel P5620 6.4T NVMe SSD 作为缓存 (直接换盘),同时为进一步贴合生产场景,打开归档并进行跑批测试。结果显示,SmartX 超融合环境下 BI/DW 仅需 8.5 小时即可完成全量跑批任务,但监控数据显示读缓存命中率较低,读写延迟有部分时间段均高于 10ms,判断为冷数据交互导致,因此计划开展第三轮跑批优化。
第二轮测试 – SmartX 超融合环境下数仓跑批读缓存命中率表现
第三轮测试
考虑到客户未来生产环境集群将承载多套 DB 数据库,希望进一步将跑批时间控制在 8 小时内,同时避免上轮测试中出现的读缓存击穿问题,因此第三轮测试中使用全闪设备(Samsung PM893 7.68T SATA SSD)在不分层的设置下进行测试。
结果显示,SmartX 超融合环境下,BI/DW 仅需不到 5 小时即可完成全量跑批任务,同时可承载 SQLServer 数据库,数据量约 10T,存储容量使用率为 83%。全闪集群下,读带宽有所提高(最高达 1.9GBps),读写延迟均大幅下降:写延迟最高 8.05ms,平均为 4ms;读延迟最高不超过 5ms,平均为 2ms。
第三轮测试 – SmartX 超融合环境下数仓跑批读写表现
测试结果汇总
三轮测试后,SmartX 超融合环境下数据仓库整体跑批时间满足客户预期,可避免缓存击穿问题,同时验证了在高存储使用量的场景下,存储性能依旧能够满足客户日常使用需求。尤其是跑批时间方面,在数据量完全相同的情况下,基于超融合架构的 Oracle 数据仓库 BI 系统跑批时间由客户生产环境中 8.5 小时缩短至不到 5 小时,跑批时间缩短 42%。
Oracle 数据仓库在生产环境、vSAN 环境和 SmartX 超融合环境的跑批测试数据对比如下图所示。
SmartX 超融合与生产环境数仓跑批用时对比
vSAN 架构、SmartX 超融合和生产环境数仓跑批用时对比
测试结论
- 通过多轮连续测试验证,SmartX 超融合架构相比原生产传统架构,在进行 Oracle 数据仓库报表跑批时有了明显的性能提升,超出客户预期。
- 验证了 Oracle 数据仓库从 x86 4 路物理服务器迁移到 2 路超融合服务器的可行性,同时确认性能及运维简易度方面可满足需求。
- 超融合的架构简单、资源弹性、高性能和稳定性得到充分检验。
目前,用户已采用 SmartX 超融合构建 7+7 全闪双活集群作为生产 DB 资源池,稳定支撑新核心系统的 SQLServer Always-On 数据库集群,Oracle RAC 形态承载 BI、零售库存、ESP、影像等数据库集群, 以及多套生产所需的 Oracle、MySQL 等数据库。
除了上述实践,SmartX 超融合和分布式存储对金融行业数据仓库场景的支持能力,也得到其他用户的测试验证。欲了解更多,请阅读:
- Oracle 数据仓库在超融合架构下的跑批性能验证
- 金融用户实践|分布式存储支持数据仓库业务系统性能验证
您还可以点击链接,获取《金融核心生产业务场景探索文章合集》系列电子书,全面了解超融合在金融核心业务系统、数据库与数据仓库、信创转型与架构升级等场景下的能力表现。
阅读原文:BI 数仓跑批测试:vSAN 缓存击穿,SmartX 超融合缩短跑批时间近一半|金融用户实践