백업 또는 복원이 성능에 영향을 미치나요?
예, 영향을 주긴 하지만 최소 수준이며, 특히 프로덕션 워크로드에서는 그 영향이 미미합니다.
- 백업 및 복원 중에는 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