GitHub Enterprise Server에 대한 속도 제한 정보
속도 제한은 모든 사용자의 가용성 또는 성능에 영향을 줄 수 있는 GitHub Enterprise Server 인스턴스에서 과도한 리소스 사용을 방지하는 데 도움이 됩니다. GitHub Enterprise Server APIs 및 GitHub Actions에 대한 요율 제한을 구성할 수 있습니다.
속도 제한을 신중하게 구현하고 튜닝할 때 사용자와 통신합니다. 허용 속도 제한부터 시작하여 사용자 환경에 맞게 점진적으로 조정합니다.
또한 관리 콘솔에 인증 시도에 대한 속도 제한을 구성할 수도 있습니다. 자세한 내용은 관리 콘솔에 대한 액세스 관리을(를) 참조하세요.
GitHub Enterprise Server APIs에 대한 비율 제한 사용 설정
GitHub Enterprise Server APIs에 대한 요청이 너무 많으면 인스턴스 속도가 느려지거나 사용할 수 없게 될 수 있습니다. API 속도 제한이 사용자에게 미치는 영향에 대한 자세한 내용은 REST API에 대한 트래픽률 제한을 참조하세요.
관리 셸의 유틸리티를 사용하여 API 속도 제한에서 특정 사용자를 제외할 ghe-config 수 있습니다. 자세한 내용은 명령줄 유틸리티을(를) 참조하세요.
참고
관리 콘솔은 각 속도 제한에 대한 기간(분당 또는 시간당)을 나열합니다.
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
- “속도 제한”에서 HTTP API 속도 제한 사용 설정을 선택합니다.
- 각 API에 대한 인증 및 인증되지 않은 요청에 대한 제한을 입력하거나 미리 채워진 기본 제한을 적용합니다. { 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }
보조 속도 제한 사용 설정
보조 속도 제한은 모든 사용자에게 GitHub Enterprise Server 인스턴스을(를) 안정적으로 유지하는 데 도움이 됩니다.
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
- “속도 제한”에서 보조 속도 제한 사용 설정을 선택합니다.
- 검색을 위한 총 요청, CPU 제한 및 CPU 제한에 대한 제한을 입력하거나 미리 채워진 기본 제한을 적용합니다. { 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }
Git에 대한 속도 제한 활성화
GitHub의 직원이 추천한 경우 리포지토리 네트워크 또는 사용자 ID별로 Git 속도 제한을 적용할 수 있습니다. Git 속도 제한은 분당 동시 작업으로 측정되며 현재 CPU 부하에 맞게 조정됩니다.
경고
GitHub의 직원이 직접 권장하지 않는 한 이 설정은 비활성화된 상태로 두십시오. Git 작업이 CPU 및 RAM 사용량의 주요 원인이 되는 경우는 거의 없습니다. 이 기능을 사용하도록 설정하면 Git 작업이 높은 부하에서 실패할 가능성이 높아질 수 있지만 근본 원인을 해결하지는 못합니다.
- 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.
- “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.
- " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.
- “속도 제한”에서 Git 속도 제한 사용 설정을 선택합니다.
- "리포지토리 네트워크 제한"에서 각 리포지토리 네트워크에 대한 제한을 입력합니다.
- "사용자 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 Enterprise Server 인스턴스을(를) 일상적인 작업을 방해하지 않고 GitHub Actions 사용량의 비정상적인 급증으로부터 보호합니다. 올바른 임계값은 인스턴스의 사용 가능한 리소스 및 일반적인 워크로드에 따라 달라집니다. GitHub Actions에 대한 하드웨어 요구 사항에 대한 자세한 내용은 GitHub Enterprise Server에서 GitHub Actions 시작하기을 참조하세요.
기본적으로 GitHub Actions에 대한 속도 제한은 사용하지 않도록 설정됩니다. GitHub Enterprise Server은(는) 문제 없이 일시적인 사용량 급증을 처리할 수 있으므로 이 속도 제한은 지속적인 높은 부하로부터 보호합니다. 성능 문제가 발생하지 않는 한 사용하지 않도록 둡니다. 경우에 따라 GitHub 지원에서 GitHub Actions에 속도 제한을 설정하는 것을 권장할 수 있습니다.
GitHub Actions에 대한 속도 제한 활성화 또는 비활성화
-
에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 관리 셸(SSH)에 액세스을(를) 참조하세요.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
속도 제한을 사용하도록 설정하고 구성하려면 다음 두 명령을 실행하여 RUNS-PER-MINUTE를 선택한 값으로 바꿉니다.
ghe-config actions-rate-limiting.enabled true ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE -
속도 제한을 사용하지 않도록 설정하려면 다음 명령을 실행합니다.
ghe-config actions-rate-limiting.enabled false -
구성을 적용하려면 다음 명령을 실행합니다.
ghe-config-apply -
구성 실행이 완료될 때까지 기다립니다.
라이브 업데이트 서비스의 속도 제어
GitHub Enterprise Server 인스턴스에 대한 AJAX 요청 수가 문제를 일으키는 경우 이러한 라이브 업데이트에서 사용하는 WebSockets 컨트롤러에 대한 속도 제한을 조정해야 할 수 있습니다. Alive 요청을 보는 방법에 대한 자세한 내용은 모니터 대시보드에 대한 정보을 참조하세요.
기본 속도 제한을 사용하도록 설정하면 기본 제한은 IP 주소당 분당 100개 요청입니다. 관리 셸의 ghe-config 유틸리티를 사용하여 IP 주소당 분당 허용되는 요청 수로 설정 app.github.web-sockets-rate-limit 하거나 이 속도 제한을 사용하지 않도록 설정합니다. 제한을 비양성 정수 값(예: 0, ,-1``disabled)으로 설정하면 WebSockets 컨트롤러에서 속도 제한을 사용하지 않도록 설정합니다.
app.github.web-sockets-rate-limit 구성 설정이 도입되었습니다. 3.15.8.
이러한 설정을 변경한 후 ghe-config-apply 를 실행하여 적용합니다.