汇联易实战:RDS通用云盘助力突破性能瓶颈

本案例将介绍上海甄汇信息科技有限公司在面临多个业务挑战时,通过选择阿里云瑶池数据库RDS MySQL,并升级存储介质为通用云盘,同时启用IO突发功能,成功应对并解决了业务高峰期数据库查询速度慢的性能瓶颈问题,使SaaS服务能够在关键时刻获得更加稳定和高效的性能表现。基于本案例您可以深入了解阿里云提供的解决方案以及该方案在实践中的显著效果,帮助您在面对类似挑战时制定出有效的应对策略并解决相似问题。

客户简介

上海甄汇信息科技有限公司(简称“汇联易”),成立于2016年8月,专注于为企业客户提供全面的SaaS系统及解决方案,涵盖财务费控、电子档案和企业消费管理。汇联易以其对市场的敏锐洞察和不断升级的产品服务,成功构筑了覆盖中国和日本市场并向全球扩展的产品线和服务网络。通过融资引入蓝湖资本、华兴资本、软银中国、众麟资本、Unicorn Capital等知名基金的支持,公司实现了快速增长。旗下产品包括“汇联易”、“甄选”、“e档案”和“Spendia”,使公司成为了一家综合实力雄厚的全球化创新企业。

自成立以来,汇联易稳居大客户和合作伙伴数量的行业前列,专注于构建用户费用管理全生命周期的SaaS解决方案。其提供的全流程解决方案,涵盖“申请-消费-报销-核算-入账-归档”,目前汇联易已获得多项国家级认证和专业资质,例如国家级高新企业证书、SOC1&SOC2双项认证、国家信息安全三级等保、ISO27001、ISO27017等,部署了多款符合国际标准的安全产品,全方位保障数据的传输和存储安全。

汇联易深化了与阿里云瑶池数据库团队的合作,共同推动了企业内部财务费控系统和员工商旅系统等关键SaaS服务的持续优化与更新。携手阿里云,汇联易采用创新的方法,加速了SaaS产品的数字化和智能化迭代进程,从而为众多企业的数字化转型提供了有力支持。

image.png

业务挑战:业务高峰期,数据库查询压力激增

在业务实践中,汇联易专注于向各大企业交付卓越的SaaS服务,包括内部费用管控、消费管理、以及工商业务管理系统。遵循SaaS行业普遍采纳的“规模化复制+标准化”商业模式,服务的高效扩展、一致性维护、随业务弹性也是汇联易的强诉求,用以满足不同企业客户的独特需求。

image.png

典型SaaS行业系统架构示意图

随着汇联易业务量的激增,公司面对了一系列由规模化复制、多租户管理和流量高峰引起的数据库挑战:

  • 性能瓶颈的压力:汇联易服务的多样客户群体经历着数据访问的波动。汇联易研发团队观察到业务高峰期时,系统出现查询速度整体下降的现象。面对如何保障数据访问量增加时数据库性能不降低的问题,汇联易必须找到解决方案。例如,在核心SaaS业务中,MySQL实例在大部分时间的读写负载低于350MB/s,而在每日高峰期(约3~4小时)的负载则大幅超过此数值。

  • 可扩展性的需求:由于汇联易服务的客户类型多样,对数据库架构有着各异的需求。因此,急需一种能够兼容各种客户类型、在保持存储和计算弹性的同时,还能满足不同业务峰值需求的数据库架构,以实现成本与业务可用性之间的最佳平衡。

  • 运维管理复杂性的挑战:汇联易服务的客户数量庞大,涉及众多数据库实例,随之而来的是日益增加的管理成本。伴随业务升级和发展,数据迁移、大客户隔离、客户数据拆分等需求日渐增多,对于部分大型客户,还需要提供定制化开发。如何实现高效管理、降低管理成本、满足定制开发要求,并保证零停机迁移,以实现简化的管理和运维流程,是汇联易亟待解决的问题。

解决方案:选择RDS通用云盘

早期的数据库存储介质选型

汇联易早期核心SaaS业务的数据库选型上,存储介质选用的是增强型SSD PL1云盘(Enhanced SSD PL1云盘,简称ESSD PL1云盘)。该类云盘是阿里云推出的超高性能云盘产品,基于新一代分布式块存储结构,结合25GE网络和RDMA技术,能够提供较高的随机读写能力和比SSD云盘更低的单路时延能力。ESSD云盘按性能强弱依次分为:PL3、PL2、PL1、PL0。其中,PL1性能数据如下:

云盘性能级别(PL)

性能描述

云盘容量范围(GiB)

单盘最大IOPS (Input/output operations per second)

单盘最大吞吐量(MB/s)

PL1

并发极限I/O性能中等,读写时延较为稳定。

20~65,536

50,000

350

汇联易研发团队对数据库I/O吞吐量进行了监控,发现其核心SaaS业务在流量分布上存在明显的峰谷差异。在日常运营中,业务流量相对稳定,MySQL实例的读写吞吐量通常低于PL1云盘的350MB/s上限。然而,在每日高峰时段中(大概3~4小时),系统流量会猛增至峰值,致使MySQL读写吞吐量达到,甚至超出PL1云盘的最大容量,结果是系统查询速度在这些高峰期内普遍下降。如下两图,展示了汇联易在一个典型高峰时段的吞吐量和I/O流量情况,清晰反映出实例的I/O性能受到了350MB/s限制的影响。

image.png

业务高峰期实例I/O吞吐量监控示意图(ESSD PL1云盘)

image.png

业务高峰期实例I/O流量诊断示意图(ESSD PL1云盘)

升级存储介质为通用云盘

通过深入合作,阿里云团队和汇联易的研发团队对影响SaaS业务的因素进行了细致的场景和流量分析,得出以下发现:

  • 核心SaaS业务的流量并不是始终处于增长状态,而是存在显著的高峰期和低谷期。换句话说,业务遭遇了I/O性能的突发性高负载情况。

  • 汇联易此前采用的ESSD PL1云盘将I/O性能与存储容量紧密关联,导致IOPS和带宽的上限严重受限于存储容量。在不更换云盘种类的前提下,原有解决方案为增加存储扩容以应付高峰期的查询需求,然而这对于低峰期而言造成了不必要的资源浪费。

针对这些挑战,双方团队制定了一套具有高性价比的解决策略。在不改变原有业务架构、不干扰业务数据完整性、确保业务持续顺畅运行的基础上,平滑地将现有的ESSD PL1云盘升级至通用云盘,并启用了IO突发功能,从而解决了流量高峰期查询响应时间慢的问题。

通用云盘和IO突发

通用云盘是阿里云瑶池数据库RDS新推出的云盘类型,旨在将性能、成本和弹性综合优化。区别于业界其他云盘,通用云盘通过PaaS与IaaS层技术的深度整合,创新地采用了三层存储体系:缓存层(High Performance Disk)、数据层(ESSD云盘)和冷存层(OSS对象存储)。此结构使得热数据能够高效存储在缓存层,提高I/O速率,而温数据和冷数据分别存储在成本效益更优的ESSD云盘和OSS对象存储中。

通用云盘的设计将缓存盘充当可扩展资源,以优化I/O速度。结合AliSQL数据库内核的先进能力,该云盘能够轻松应对数据库读写过程中可能发生的I/O突发情况。同时,通过将较少访问的数据归档到成本更低的对象存储,进一步实现了成本节约。最终,通用云盘实现了I/O性能与存储容量的解耦,为用户在I/O性能和存储空间上提供了灵活性。

image.png

通用云盘架构简图

通用云盘的IO突发功能恰好匹配汇联易SaaS业务的需求,特别是业务流量的剧烈波动及其高峰和低谷的特点。启用该功能后,云盘的IOPS能够超越最大固定值,为业务在流量高峰期提供必要的I/O扩展能力,从而有效地应对突发的业务需求。这种弹性优化确保了汇联易的SaaS服务能够在关键时刻获得更加稳定和高效的性能表现。

是否开启突发

IOPS上限值

吞吐量上限值(单位:MB/s)

未开启IO突发

min{50000,实例规格最大IOPS,实例规格最大IO带宽对应的IOPS,1800+50x存储空间}

min{350,实例规格最大IO带宽,120+0.5x存储空间}

已开启突发

min{1000000,实例规格最大IOPS,实例规格最大IO带宽对应的IOPS}

min{4000,实例规格最大IO带宽}

在日常使用中,汇联易可依照业务需求调整云盘的I/O性能上限。在遇到高I/O时,系统会自动启动IO突发模式,增加I/O性能上限以应对高负载;负载减少后,系统同样会自动将I/O性能调整回正常水平。这种机制为汇联易带来了I/O性能弹性,既满足了业务需求,又避免了不必要的性能及成本浪费。

下图的测试示例可看出IO突发功能的效果:开启IO突发功能之后,可观察到在I/O高峰期间,RDS MySQL实例的IOPS使用率能超过100%。

image.png

RDS通用云盘IO突发测试示意图

升级后效果

在汇联易对SaaS业务数据库的云盘升级至通用云盘,并启用IO突发功能后,监测数据显示显著的性能提升。具体来看,通用云盘在业务使用过程中实现了I/O性能的动态突发,能够根据需求自动增加吞吐量,最高可达4000MB/s。这一弹性提升意味着在业务高峰时期,MySQL的I/O吞吐量不再受原有云盘性能的限制,避免了由于I/O资源不足导致的查询速度下降。如此,汇联易的业务系统得以更加稳健地应对流量的高峰挑战。

image.png

业务高峰期实例I/O吞吐量监控示意图(通用云盘)

image.png

业务高峰期实例I/O流量诊断示意图(通用云盘)

客户价值与未来规划

汇联易采用阿里云推出的通用云盘后,获得了数据库使用过程中成本、弹性、性能全方面的显著成效:

  • 性能提升:通过IO突发机制,汇联易在关键时刻获得了必要的性能提升,确保了数据库在访问量激增时依然能够维持高效运行,无需担忧性能下降的问题,极大改善了业务的连续性和用户体验。

  • 成本效益:通用云盘的定价与PL1云盘持平,尽管IO突发是按使用量收费,但阿里云提供的免费额度高达50万IO/小时,远超汇联易实际在一小时内最高I/O突发量。这意味着汇联易在不增加额外成本的情况下,享受到了更高级别的I/O性能。

  • 突发弹性:通用云盘引入的IO突发功能,帮助业务成功弹性应对流量洪峰。在遇到流量高峰时,系统能自动增加I/O性能上限,避免了性能受限的问题,流量回落后又能自动降低I/O性能上限,使资源使用更加高效。

展望未来,汇联易将进一步利用阿里云瑶池数据库的技术创新,不断优化其数据管理系统。随着技术进步,将继续提升性能、降低成本,并增强系统的扩展性。可以说,通用云盘出现之前,当前市场上尚未出现一种云存储介质,可以同时在低成本、低延迟、高持久性几个维度上都达到令人满意的程度。阿里云瑶池数据库RDS的通用云盘打破了这一局面。未来,阿里云瑶池数据库将继续深耕技术,通过持续提升技术能力,释放红利,为客户带去更佳的性价比和更稳定可靠的产品体验。

客户感言

“阿里云不仅以其稳定的环境、一流的服务和过硬的技术能力赢得了我们的信赖,更在我们面对挑战时提供了有效的支持。特别是在数据库瓶颈问题的处理以及云盘切换过程中,给予了我们持续的关注和密切的监控,确保了整个过程顺利进行,让我们感到非常安心。希望未来阿里云能够一如既往地作为我们坚实的后盾,给予我们充分的支撑。”

马云飞

上海甄汇信息科技有限公司 技术总监