Sobre os limites de taxa para GitHub Enterprise Server
Os limites de taxa ajudam a evitar o uso sua instância do GitHub Enterprise Server excessivo de recursos que pode afetar a disponibilidade ou o desempenho de todos os usuários. Você pode configurar limites 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 ao Console de Gerenciamento. Para saber mais, confira Como gerenciar o acesso ao Console de Gerenciamento.
Habilitando limites de taxa para o GitHub Enterprise Server APIs
Solicitações demais ao GitHub Enterprise Server APIs podem deixar sua instância mais lenta ou 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 de tempo (por minuto ou por hora) para 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.
-
Na barra lateral "Configurações", clique em Salvar configurações.
Observação
Se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Habilitar limites de taxa secundária
Os limites secundários de taxa ajudam a manter sua instância do GitHub Enterprise Server 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.
-
Na barra lateral "Configurações", clique em Salvar configurações.
Observação
Se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Habilitar limites de taxa para Git
Se um membro da equipe de GitHub tiver recomendado isso, você poderá aplicar limites de taxa do Git por rede de repositórios 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 recomendada diretamente pela GitHubequipe. 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.
-
Na barra lateral "Configurações", clique em Salvar configurações.
Observação
Se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Configurando limites de taxa para GitHub Actions
Você pode definir um limite de taxa para GitHub Actions execuções de fluxo de trabalho. Para obter mais informações sobre GitHub Actions, confira Sobre GitHub Actions para empresas.
Sobre os limites de taxa para GitHub Actions
Sua instância GitHub Enterprise Server atribui cada GitHub Actions tarefa de fluxo de trabalho 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 estiver sob alta carga contínua, a fila pode se acumular e o desempenho de sua instância do GitHub Enterprise Server pode ser prejudicado.
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 de uso protege sua instância do GitHub Enterprise Server contra picos incomuns no uso de GitHub Actions, sem interferir nas operações do dia a dia. 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 os requisitos de hardware, GitHub Actionsconsulte 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 uma alta carga sustentada. Deixe-o desabilitado, a menos que você tenha problemas de desempenho. Em alguns casos, Suporte do GitHub pode recomendar a habilitação de 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 GitHub Enterprise Server instância causar problemas, talvez seja necessário ajustar o limite de taxa para o controlador WebSockets usado por essas atualizações dinâmicas. Para obter detalhes sobre como exibir Alive requests, consulte Sobre os painéis de controle 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.
Depois de alterar essas configurações, execute ghe-config-apply para aplicá-las .