备份性能被认为是数据保护最关键的要素之一。 Synology 针对 1500 名 IT 决策者进行了一项调查,超过一半的受访者将备份速度列为主要挑战之一。缓慢的备份可能会阻碍组织的生产流程。如果备份任务超过其指定的时间范围,它有可能无限期地拖延,从而使关键工作负载得不到保护。
作为保护 Synology 系统上存储的数据的一项重要服务,Hyper Backup 自推出以来就支持增量备份模式,从而减少了备份任务所需的时间。然而,随着企业以指数速度积累数据,对更快备份的呼声也随之激增。认识到这一趋势,我们重新审视了 Hyper Backup 的设计,并引入了一系列增强功能来提高 DSM 7.0 中 Hyper Backup 的性能。
为了达到加快备份速度的目的,我们将Hyper Backup的任务执行流程彻底解构为六步:
- 备份任务启动
- 文件元数据收集
- 备份内容分析和启动
- 重复数据删除
- 备份文件集合
- 备份数据处理
对于每个步骤,我们都利用 perf、ebpf 和 iperf 等工具来分析 CPU 上的方面(例如,CPU 使用情况、内存)和 CPU 外的元素(例如,磁盘 I/O、系统调用)。我们的研究结果表明,通过增强两种机制,我们可以显着提升 Hyper Backup 的性能,尤其是在涉及海量数据的场景中。
增强型并行处理
首先,我们微调了备份任务中的并行工作流程。在每个备份服务中,“提供者”生成任务,而“消费者”执行任务。例如,提供者可能会识别需要备份的文件,然后消费者执行读/写操作。在整个备份任务中,消费者和提供商的平衡负载和等待时间至关重要。任务分配和 CPU/内存资源分配等因素会影响这种平衡。
事实上,平衡软件开发中的任务和资源分配是一个持续的过程。经过彻底的重新评估和重组,我们对备份任务进行了模块化,以避免 DSM 7.0 中的资源冲突。这些改进可实现每个备份流程段的无缝并发处理,从而缓解瓶颈并将增量备份效率显着提高 30%。
改进的元数据收集流程
接下来,我们整合并简化了元数据收集。在备份过程中,增量备份和重复数据删除需要大量的元数据。这些元数据收集过程以前分散在多个过程中,阻碍了备份速度。为了解决这个问题,我们仔细检查了每个流程中的元数据请求,消除了冗余,并简化了元数据收集流程。
此外,我们引入了内存缓存机制和集中式元数据检索,以减轻硬盘的 I/O 负担。这加快了增量备份和重复数据删除任务的速度。
通过这些增强功能,Hyper Backup 的性能得到了显着提高。在我们的实验室测试中,使用总计 18TB 的 1000 万个文件数据集,在文件更改率为 5% 的情况下,新的 Hyper Backup 版本比之前的版本有了 95% 的显着改进。在处理超过一百万个文件的场景中,这种效果尤其明显。因此,我们强烈建议拥有大量数据的企业将其 DSM 和 Hyper Backup 升级到最新版本。
下一步,我们将继续探索如何在备份任务执行过程中更快速、更准确地识别文件变化,应对更严峻的挑战,例如上亿文件变化的极端情况或异常断电等突发事件。优化产品性能是一项持续的努力,Synology 致力于不断提供更好的用户体验。