InfoGrab DocsInfoGrab Docs

Geo 튜닝

요약

사이트가 백그라운드에서 동시에 실행하는 작업 수를 제한할 수 있습니다. 오른쪽 상단에서 Admin을 선택합니다. 왼쪽 사이드바에서 Geo > Sites를 선택합니다. 튜닝할 보조 사이트의 Edit을 선택합니다. Tuning settings 아래에는 Geo 성능을 개선하기 위해 조정할 수 있는 변수가 여러 개 있습니다.

사이트가 백그라운드에서 동시에 실행하는 작업 수를 제한할 수 있습니다.

동기화/검증 동시성 값 변경#

기본 사이트에서 다음을 수행합니다.

  1. 오른쪽 상단에서 Admin을 선택합니다.

  2. 왼쪽 사이드바에서 Geo > Sites를 선택합니다.

  3. 튜닝할 보조 사이트의 Edit을 선택합니다.

  4. Tuning settings 아래에는 Geo 성능을 개선하기 위해 조정할 수 있는 변수가 여러 개 있습니다.

    • Repository synchronization concurrency limit
    • File synchronization concurrency limit
    • Container repositories synchronization concurrency limit
    • Verification concurrency limit

동시성 값을 높이면 스케줄링되는 job 수가 늘어납니다. 다만 사용 가능한 Sidekiq 스레드 수를 함께 늘리지 않으면 병렬 다운로드가 늘어나지 않을 수 있습니다. 예를 들어 리포지터리 동기화 동시성을 25에서 50으로 높였다면 Sidekiq 스레드 수도 25에서 50으로 늘리는 편이 좋습니다. 자세한 내용은 Sidekiq 동시성 문서를 참고합니다.

Note

Verification concurrency limit은 모든 데이터 유형을 합산해 한 사이트에서 동시에 실행되는 전체 검증 job 수에 적용되는 단일 전역 제한입니다. 실제 동시 실행 수는 구성한 값과 같습니다.

GitLab 19.2 이하에서는 구성한 값을 데이터 유형 수로 나눈 뒤 적용했기 때문에, 실제 동시 실행 수가 설정값보다 낮았습니다. GitLab 19.3으로 업그레이드하면 GitLab이 각 사이트의 저장된 값을 다시 계산해 실제 동시 실행 수를 업그레이드 전과 비슷하게 유지합니다. 그 결과 업그레이드 후 저장된 값이 더 낮아질 수 있습니다. 값을 확인하고 필요에 따라 다시 조정합니다.

낮은 기본값 튜닝#

새 Geo 사이트를 구축할 때 과도한 부하를 피하도록, GitLab 18.0부터 Geo의 동시성 설정은 대부분의 환경에서 낮은 기본값으로 지정됩니다. 이 값을 높이는 절차는 다음과 같습니다.

  1. 오른쪽 상단에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Geo > Sites를 선택합니다.
  3. 어떤 데이터 유형의 진행이 지나치게 느린지 판단합니다.
  4. 기본 사이트와 보조 사이트의 부하 메트릭을 관찰합니다.
  5. 보수적으로 동시성 제한을 10씩 높입니다.
  6. 진행 상황과 부하 메트릭의 변화를 최소 3분간 관찰합니다.
  7. 부하 메트릭이 원하는 최댓값에 도달하거나 동기화와 검증이 원하는 속도로 진행될 때까지 값을 계속 높입니다.

복제되는 데이터 양 줄이기#

기본 사이트에 보존된 모든 파일은 모든 보조 사이트에 저장, 동기화, 검증되어야 하며 Geo 메트릭 수집에도 포함됩니다. 가치가 없는 데이터를 삭제하는 것이 동시성을 높이는 것보다 더 효과적인 경우가 많으며, 보조 사이트를 추가하거나 다시 구축할 때 초기 동기화 시간도 단축됩니다.

CI/CD job 아티팩트가 보통 가장 큰 비중을 차지합니다. 용량을 줄이려면 다음을 수행합니다.

LFS 오브젝트와 패키지 파일 같은 다른 복제 데이터 유형에도 같은 원칙이 적용됩니다. 컨테이너 레지스트리 이미지에는 정리 정책을 사용합니다.

리포지터리 재검증#

자동 백그라운드 검증을 참고합니다.

Geo 튜닝

GitLab v19.5
Tier: Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기

요약

사이트가 백그라운드에서 동시에 실행하는 작업 수를 제한할 수 있습니다. 오른쪽 상단에서 Admin을 선택합니다. 왼쪽 사이드바에서 Geo > Sites를 선택합니다. 튜닝할 보조 사이트의 Edit을 선택합니다. Tuning settings 아래에는 Geo 성능을 개선하기 위해 조정할 수 있는 변수가 여러 개 있습니다.

사이트가 백그라운드에서 동시에 실행하는 작업 수를 제한할 수 있습니다.

동기화/검증 동시성 값 변경#

기본 사이트에서 다음을 수행합니다.

  1. 오른쪽 상단에서 Admin을 선택합니다.

  2. 왼쪽 사이드바에서 Geo > Sites를 선택합니다.

  3. 튜닝할 보조 사이트의 Edit을 선택합니다.

  4. Tuning settings 아래에는 Geo 성능을 개선하기 위해 조정할 수 있는 변수가 여러 개 있습니다.

    • Repository synchronization concurrency limit
    • File synchronization concurrency limit
    • Container repositories synchronization concurrency limit
    • Verification concurrency limit

동시성 값을 높이면 스케줄링되는 job 수가 늘어납니다. 다만 사용 가능한 Sidekiq 스레드 수를 함께 늘리지 않으면 병렬 다운로드가 늘어나지 않을 수 있습니다. 예를 들어 리포지터리 동기화 동시성을 25에서 50으로 높였다면 Sidekiq 스레드 수도 25에서 50으로 늘리는 편이 좋습니다. 자세한 내용은 Sidekiq 동시성 문서를 참고합니다.

Note

Verification concurrency limit은 모든 데이터 유형을 합산해 한 사이트에서 동시에 실행되는 전체 검증 job 수에 적용되는 단일 전역 제한입니다. 실제 동시 실행 수는 구성한 값과 같습니다.

GitLab 19.2 이하에서는 구성한 값을 데이터 유형 수로 나눈 뒤 적용했기 때문에, 실제 동시 실행 수가 설정값보다 낮았습니다. GitLab 19.3으로 업그레이드하면 GitLab이 각 사이트의 저장된 값을 다시 계산해 실제 동시 실행 수를 업그레이드 전과 비슷하게 유지합니다. 그 결과 업그레이드 후 저장된 값이 더 낮아질 수 있습니다. 값을 확인하고 필요에 따라 다시 조정합니다.

낮은 기본값 튜닝#

새 Geo 사이트를 구축할 때 과도한 부하를 피하도록, GitLab 18.0부터 Geo의 동시성 설정은 대부분의 환경에서 낮은 기본값으로 지정됩니다. 이 값을 높이는 절차는 다음과 같습니다.

  1. 오른쪽 상단에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Geo > Sites를 선택합니다.
  3. 어떤 데이터 유형의 진행이 지나치게 느린지 판단합니다.
  4. 기본 사이트와 보조 사이트의 부하 메트릭을 관찰합니다.
  5. 보수적으로 동시성 제한을 10씩 높입니다.
  6. 진행 상황과 부하 메트릭의 변화를 최소 3분간 관찰합니다.
  7. 부하 메트릭이 원하는 최댓값에 도달하거나 동기화와 검증이 원하는 속도로 진행될 때까지 값을 계속 높입니다.

복제되는 데이터 양 줄이기#

기본 사이트에 보존된 모든 파일은 모든 보조 사이트에 저장, 동기화, 검증되어야 하며 Geo 메트릭 수집에도 포함됩니다. 가치가 없는 데이터를 삭제하는 것이 동시성을 높이는 것보다 더 효과적인 경우가 많으며, 보조 사이트를 추가하거나 다시 구축할 때 초기 동기화 시간도 단축됩니다.

CI/CD job 아티팩트가 보통 가장 큰 비중을 차지합니다. 용량을 줄이려면 다음을 수행합니다.

LFS 오브젝트와 패키지 파일 같은 다른 복제 데이터 유형에도 같은 원칙이 적용됩니다. 컨테이너 레지스트리 이미지에는 정리 정책을 사용합니다.

리포지터리 재검증#

자동 백그라운드 검증을 참고합니다.