Skip to main content

了解备份服务

有关将备份服务用于 GitHub Enterprise Server 的常见问题解答。

备份或还原是否会影响性能?

会有影响,但通常影响很小 - 特别是对生产工作负载来说。

  • 在备份和还原过程中,受影响的阶段(如仓库、存储等)将暂停 Git 后台维护任务和存储作业。 这可能会导致实例指标中出现临时积压工作。
  • 对于更新频繁的仓库,如果维护作业长时间被延迟,可能会导致性能下降。
  • 备份操作以低 CPU 和 I/O 优先级运行,以尽量减少对用户的影响。 但你仍可能会观察到短期的资源使用波动。

我们建议在启动下一次备份前,完全清除维护任务的积压工作。

如何处理 MS SQL Server 备份?

如果启用了 GitHub Actions,系统会使用分层的节奏来备份 MS SQL Server 数据库:

  • 完整备份(F)****:完整快照。
  • 差异备份(D)****:自上次完整备份以来的所有更改。
  • 事务日志备份(T)****:自上次完整备份或差异备份以来的细粒度更改。

备份时机由 管理控制台 中的 MSSQL Backup Cadence 设置控制。 随着时间的推移,快照包括:

  • 1 个完整备份
  • 0 个或多个差异备份
  • 1 个或多个事务日志备份

备份时间线示例

M---8:00--16:00---T---8:00--16:00---W... (timeline)

F-----------------F-----------------F... (full backup)
#-----D-----D-----#-----D-----D-----#... (differential backup)
T--T--T--T--T--T--T--T--T--T--T--T--T... (transaction log backup)

为了优化空间,系统使用硬链接指向之前创建的备份。 每次运行时,仅传输新的备份文件。 每个新的完整或差异快照都会成为未来事务日志备份的基线。

在还原过程中,备份会按照以下顺序进行重放:完整备份 → 差异备份 → 事务日志。

什么是基准数据?

每个快照都包含 benchmarks/ 目录中的基准日志。 该日志记录了每个备份步骤所花费的时间,可用于识别性能瓶颈。

ghe-backup-settings took 2s
ghe-export-authorized-keys took 0s
ghe-export-ssh-host-keys took 0s
ghe-backup-mysql-binary took 9s
ghe-backup-mysql took 9s
ghe-backup-minio took 0s
ghe-backup-redis took 1s
ghe-backup-es-audit-log took 1s
ghe-backup-repositories - Generating routes took 3s
ghe-backup-repositories - Fetching routes took 0s
ghe-backup-repositories - Processing routes took 0s
ghe-backup-pages - hostname took 1s
ghe-backup-pages took 1s
ghe-backup-storage - Generating routes took 2s
ghe-backup-storage - Fetching routes took 0s
ghe-backup-storage - Processing routes took 0s
ghe-backup-git-hooks took 0s
ghe-backup-es-rsync took 2s