Skip to main content

Enterprise Server 3.20 은(는) 현재 릴리스 후보로 제공됩니다.

속도 제한 구성

관리 콘솔을 사용하여 GitHub Enterprise Server에 대한 속도 제한을 설정할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

Site administrators can configure rate limits for a GitHub Enterprise Server instance.

GitHub Enterprise Server에 대한 속도 제한 정보

모든 사용자의 인스턴스 가용성 또는 성능에 영향을 줄 수 있는 GitHub Enterprise Server 인스턴스의 과도한 리소스 사용을 방지하기 위해 속도 제한을 구성할 수 있습니다. 데이터 변수 GitHub Enterprise Server APIs 및 GitHub Actions에 대해 속도 제한을 구성할 수 있습니다.

속도 제한을 신중하게 구현하고 제한을 조정할 때 사용자와 자주 소통하세요. 사용자의 작업을 방해하지 않도록 GitHub에서는 허용 가능한 속도 제한부터 시작하여 환경에 맞게 점차적으로 제한을 조정할 것을 권장합니다.

또한 관리 콘솔에 인증 시도에 대한 속도 제한을 구성할 수도 있습니다. 자세한 내용은 관리 콘솔에 대한 액세스 관리을(를) 참조하세요.

GitHub Enterprise Server APIs에 대한 비율 제한 사용 설정

데이터 변수에 대한 요청 수가 에 비해 과도하게 많으면 인스턴스의 가용성 및 성능에 영향을 줄 수 있습니다. API의 비율 제한이 사용자에게 미치는 영향에 대한 자세한 내용은 REST API에 대한 트래픽률 제한을(를) 참조하세요.

관리 셸의 ghe-config 유틸리티를 사용하여 API 속도 제한에서 사용자 목록을 제외할 수 있습니다. 자세한 내용은 명령줄 유틸리티을(를) 참조하세요.

참고

관리 콘솔은 각 속도 제한에 대한 기간(분당 또는 시간당)을 나열합니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
  4. “속도 제한”에서 HTTP API 속도 제한 사용 설정을 선택합니다.
  5. API마다 인증 및 인증되지 않은 요청에 대한 제한을 입력하거나 미리 채워진 기본 제한을 수락합니다. { 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }

보조 속도 제한 사용 설정

보조 속도 제한을 설정하면 GitHub Enterprise Server 인스턴스의 전체 서비스 수준을 보호할 수 있습니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
  4. “속도 제한”에서 보조 속도 제한 사용 설정을 선택합니다.
  5. 총 요청에 대한 제한, CPU 제한 및 검색에 대한 CPU 제한을 입력하거나 미리 채워진 기본 제한을 적용합니다. { 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }

Git에 대한 속도 제한 활성화

GitHub의 직원이 추천한 경우 리포지토리 네트워크 또는 사용자 ID별로 Git 속도 제한을 적용할 수 있습니다. Git 속도 제한은 분당 동시 작업으로 표현되며 현재 CPU 부하에 따라 적응형으로 적용됩니다.

경고

GitHub의 직원이 직접 추천한 경우가 아니라면 이 설정을 비활성화해 두는 것이 좋습니다. Git 작업이 CPU 및 RAM 사용량의 주요 원인이 되는 경우는 거의 없습니다. 이 기능을 활성화하면 부하가 높은 조건에서 Git 작업이 실패할 가능성이 높아질 수 있지만 이러한 조건의 근본적인 원인을 해결하지는 못합니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
  4. “속도 제한”에서 Git 속도 제한 사용 설정을 선택합니다.
  5. "리포지토리 네트워크 제한"에서 각 리포지토리 네트워크에 대한 제한을 입력합니다.
  6. "사용자 ID 제한"에서 각 사용자 ID에 대한 제한을 입력합니다. { 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }

GitHub Actions에 대한 속도 제한 설정

GitHub Actions 워크플로 실행에 속도 제한을 적용할 수 있습니다. GitHub Actions에 대한 자세한 내용은 기업용 GitHub Actions 정보을(를) 참조하세요.

GitHub Actions에 대한 속도 제한 정보

GitHub Enterprise Server 인스턴스는 각 GitHub Actions 워크플로 작업을 러너에게 할당합니다. 인스턴스가 사용 가능한 실행기에 즉시 작업을 할당하지 않는 경우, 실행기가 사용 가능해질 때까지 작업은 큐에서 대기합니다. 만약 GitHub Actions가 지속적으로 높은 로드가 발생하는 경우가 되면, 큐가 밀려서 대기할 수 있게되고 GitHub Enterprise Server 인스턴스의 성능이 저하될 수 있습니다.

이 성능 저하를 방지하려면 GitHub Actions에 대한 속도 제한을 구성하면 됩니다. 이 속도 제한은 분당 작업 실행으로 표시됩니다. GitHub Enterprise Server는 인스턴스에서 모든 작업 실행의 합계에 대한 속도 제한을 계산하고 적용합니다. 실행이 속도 제한을 초과하면 추가 실행이 큐에 들어가는 대신 실패합니다. 다음 오류가 실행 결과의 주석에 표시됩니다.

워크플로 실행 요청에 대한 속도 제한을 초과했습니다. 실행을 다시 시도하기 전에 기다려 주세요.

적절한 속도 제한은 일상적인 작업을 방해하지 않고 GitHub Actions의 비정상적인 사용으로부터 을 보호합니다. 정확한 임계값은 인스턴스의 사용 가능한 리소스와 전체 부하 프로필에 따라 달라집니다. 하드웨어 요구 사항에 대한 자세한 내용은 GitHub Actions을(를) 참조하세요. GitHub Enterprise Server에서 GitHub Actions 시작하기을 참조하십시오.

기본적으로 GitHub Actions에 대한 속도 제한은 사용하지 않도록 설정됩니다. GitHub Enterprise Server는 성능 저하 없이 일시적인 사용량 급증을 처리할 수 있으므로 이 속도 제한은 지속적인 높은 부하로부터 보호하기 위한 것입니다. 성능 문제가 발생하지 않는 한 속도 제한을 비활성화된 상태로 두는 것이 좋습니다. 경우에 따라 GitHub 지원에서 GitHub Actions에 대한 속도 제한을 사용하도록 권장할 수 있습니다.

GitHub Actions에 대한 속도 제한 활성화 또는 비활성화

  1. 에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 관리 셸(SSH)에 액세스을(를) 참조하세요.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 속도 제한을 사용하도록 설정하고 구성하려면 다음 두 명령을 실행하여 RUNS-PER-MINUTE를 선택한 값으로 바꿉니다.

    ghe-config actions-rate-limiting.enabled true
    ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE
    
  3. 속도 제한을 활성화한 후 비활성화하려면 다음 명령을 실행합니다.

    ghe-config actions-rate-limiting.enabled false
    
  4. 구성을 적용하려면 다음 명령을 실행합니다.

    ghe-config-apply
    
  5. 구성 실행이 완료될 때까지 기다립니다.

라이브 업데이트 서비스의 속도 제어

GitHub Enterprise Server 인스턴스에 대한 AJAX 요청 수가 문제를 일으키는 경우, 라이브 업데이트에서 사용하는 WebSockets 컨트롤러의 속도 제한을 편집해야 할 수도 있습니다. Alive 요청을 보는 방법에 대한 자세한 내용은 모니터 대시보드을(를) 참조하세요.

기본 속도 제한이 활성화된 경우, 기본적으로 각 IP 주소마다 분당 최대 100건의 요청이 허용됩니다. 관리 셸에 액세스할 수 있는 관리자는 ghe-config 유틸리티를 사용하여 각 IP 주소에 대해 분당 허용되는 요청 수를 app.github.web-sockets-rate-limit으로 설정하거나 이 속도 제한을 비활성화할 수 있습니다. 제한을 양의 정수가 아닌 값(예: 0, -1, disabled)으로 설정하면 라이브 업데이트에 대한 WebSockets 컨트롤러의 속도 제한이 비활성화됩니다.

이러한 설정 값을 변경한 후에는 ghe-config-apply를 실행하여 설정을 적용합니다.