예, 영향을 주긴 하지만 최소 수준이며, 특히 프로덕션 워크로드에서는 그 영향이 미미합니다.
- 백업 및 복원 중에는 Git 백그라운드 유지 관리 및 스토리지 작업이 영향을 받는 단계(예: 리포지토리, 스토리지)에서 일시적으로 일시 중지됩니다. 이로 인해 인스턴스 메트릭에 일시적으로 백로그가 표시될 수 있습니다.
- 자주 업데이트되는 리포지토리의 경우, 유지 관리 작업이 장기간 지연되면 성능이 저하될 수 있습니다.
- 백업 작업은 CPU 및 I/O 우선 순위를 낮게 설정하여 실행함으로써 사용자에게 미치는 영향을 최소화합니다. 리소스 사용량이 단기적인 급증할 수 있습니다.
다른 백업을 시작하기 전에 유지 관리 백로그가 완전히 소진되도록 기다리는 것이 좋습니다.
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