Sobre os limites de taxa para GitHub Enterprise Server
Os limites de taxa ajudam a evitar o uso excessivo de recursos em sua instância do GitHub Enterprise Server que podem afetar a disponibilidade ou o desempenho de todos os usuários. Você pode configurar limitação de taxa para o GitHub Enterprise Server APIs e GitHub Actions.
Implemente os limites de taxa com cuidado e comunique-se com seus usuários à medida que os ajusta. Comece com limites de taxa permissivos e ajuste-os gradualmente para atender ao seu ambiente.
Você também pode configurar limites de taxa para tentativas de autenticação no Console de Gerenciamento. Para saber mais, confira Como gerenciar o acesso ao Console de Gerenciamento.
Habilitar limites de taxa para a GitHub Enterprise Server APIs
Muitas solicitações ao GitHub Enterprise Server APIs podem degradar o desempenho da sua instância ou torná-la indisponível. Para obter mais informações sobre como os limites de taxa de API afetam seus usuários, consulte Limites de taxa para a API REST.
Você pode isentar usuários específicos dos limites de taxa de API usando o ghe-config utilitário no shell administrativo. Para saber mais, confira Utilitários de linha de comando.
Observação
O Console de Gerenciamento lista o período (por minuto ou por hora) de cada limite de taxa.
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa da API HTTP.
- Insira limites para solicitações autenticadas e não autenticadas para cada API ou aceite os limites padrão pré-preenchidos.
Habilitar limites de taxa secundária
Os limites de velocidade secundários ajudam a garantir que sua instância do GitHub Enterprise Server permaneça estável para todos os usuários.
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa Secundária.
- Insira limites para Total de Solicitações, Limite de CPU e Limite de CPU para Pesquisa ou aceite os limites padrão pré-preenchidos.
Habilitar limites de taxa para Git
Se um membro da equipe do GitHub tiver recomendado isso, você poderá aplicar limites de taxa do Git por rede de repositório ou por ID de usuário. Os limites de taxa do Git são medidos em operações simultâneas por minuto e adaptam-se à carga de CPU atual.
Aviso
Deixe essa configuração desabilitada a menos que seja diretamente recomendado pela equipe de GitHub. As operações do Git raramente são o que mais gera uso de CPU e RAM. Habilitar esse recurso pode tornar as operações do Git mais propensas a falhar sob alta carga, mas não aborda a causa subjacente.
- Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
- Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
- Na barra lateral " Site admin", clique em Console de Gerenciamento.
- Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa do Git.
- Em "Limite de Rede do Repositório", digite um limite para cada rede de repositório.
- Em "Limite de ID de Usuário", digite um limite para cada ID de usuário.
Configurar limites de taxa para GitHub Actions
Você pode aplicar um limite de taxa a execuções de fluxo de trabalho de GitHub Actions. Para mais informações sobre GitHub Actions, confira Sobre GitHub Actions para empresas.
Sobre os limites de taxa para GitHub Actions
Sua instância do GitHub Enterprise Server atribui cada trabalho de fluxo de trabalho GitHub Actions a um executor. Se sua instância não puder atribuir imediatamente um trabalho a um executor disponível, o trabalho aguardará em uma fila. Se GitHub Actions experimentar uma alta carga sustentada, a fila poderá acumular e o desempenho de sua instância do GitHub Enterprise Server poderá deteriorar.
Para evitar isso, você pode configurar um limite de taxa para GitHub Actions. Esse limite de taxa é medido em execuções de trabalho por minuto. GitHub Enterprise Server aplica o limite de taxa em todas as execuções de trabalho na instância. Se as execuções excederem o limite de taxa de execução, as execuções adicionais falharão em vez de entrar na fila. O erro a seguir aparece nas anotações da execução.
Você excedeu o limite de taxa para solicitações de execução de fluxo de trabalho. Aguarde antes de tentar a execução novamente.
Um bom limite de taxa protege sua instância do GitHub Enterprise Server contra picos incomuns no uso GitHub Actions sem interferir nas operações diárias. O limite correto depende dos recursos disponíveis da sua instância e da carga de trabalho típica. Para obter mais informações sobre requisitos de hardware para GitHub Actions, consulte Introdução ao GitHub Actions do GitHub Enterprise Server.
Por padrão, o limite de taxa para GitHub Actions está desabilitado. GitHub Enterprise Server pode lidar com picos de uso temporários sem problemas, portanto, esse limite de taxa protege contra carga elevada e sustentada. Deixe-o desabilitado, a menos que você tenha problemas de desempenho. Em alguns casos, Suporte do GitHub pode recomendar habilitar um limite de taxa para GitHub Actions.
Habilitar ou desabilitar limites de taxa para GitHub Actions
-
Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para saber mais, confira Acessar o shell administrativo (SSH).
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
Para habilitar e configurar o limite de taxa, execute os dois comandos a seguir, substituindo RUNS-PER-MINUTE pelo valor de sua escolha.
ghe-config actions-rate-limiting.enabled true ghe-config actions-rate-limiting.queue-runs-per-minute RUNS-PER-MINUTE -
Para desabilitar o limite de taxa, execute o comando a seguir.
ghe-config actions-rate-limiting.enabled false -
Para aplicar a configuração, execute o comando a seguir.
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
Controlar a taxa do serviço de atualização ao vivo
Se o número de solicitações AJAX para sua instância GitHub Enterprise Server estiver causando problemas, talvez seja necessário ajustar o limite de taxa para o controlador WebSockets utilizado por essas atualizações em tempo real. Para obter detalhes sobre como exibir Alive requests, consulte Sobre o painel do monitor.
Com os limites de taxa primária habilitados, o limite padrão é de 100 solicitações por minuto por endereço IP. Use o utilitário ghe-config no shell administrativo para definir app.github.web-sockets-rate-limit o número de solicitações permitidas por minuto por endereço IP ou desabilitar esse limite de taxa. Definir o limite para qualquer valor de inteiro não positivo (por exemplo, 0, , -1) disableddesabilita a limitação de taxa no controlador WebSockets.
A definição de configuração app.github.web-sockets-rate-limit foi introduzida em 3.15.8.
Depois de alterar essas configurações, execute ghe-config-apply para aplicá-las .