Skip to main content

Como configurar limites de taxa

Quem pode usar esse recurso?

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

Para evitar o uso excessivo de recursos no sua instância do Enterprise Server que possam afetar a disponibilidade ou o desempenho da instância para todos os usuários, você pode configurar limites de taxa. Os limites de taxa são configuráveis para a Enterprise Server APIs e o Actions.

Implemente os limites de taxa com cuidado e sempre se comunique com os usuários conforme ajusta os limites. Para evitar a interrupção do trabalho dos usuários, o recomenda que você comece com limites de taxa permissivos e ajuste-os gradualmente de acordo com o 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.

O número excessivo de solicitações à Enterprise Server APIs pode afetar a disponibilidade e o desempenho da instância. Para saber mais sobre como os limites de taxa da API afetam os usuários, confira Limites de taxa para a API REST.

Você pode isentar uma lista de usuários dos limites de taxa de API usando o utilitário ghe-config 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.

  1. Em uma conta administrativa no Enterprise Server, no canto superior direito de qualquer página, clique em .

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  3. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  4. Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa da API HTTP.

  5. Informe os limites para solicitações autenticadas e não autenticadas de cada API ou aceite os limites padrão sugeridos.

  6. 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.

  7. Aguarde a conclusão da execução de suas configurações.

A configuração dos limites de taxa secundária protege o nível geral do serviço em sua instância do Enterprise Server.

  1. Em uma conta administrativa no Enterprise Server, no canto superior direito de qualquer página, clique em .

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  3. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  4. Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa Secundária.

  5. Informe os limites para Solicitações totais, Limite de CPU e Limite de CPU para pesquisa ou aceite os limites padrão sugeridos.

  6. 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.

  7. Aguarde a conclusão da execução de suas configurações.

Se um membro da equipe do tiver recomendado isso, você poderá aplicar limites de taxa do Git por rede de repositório ou por ID de usuário. Os limites da taxa do Git são expressos em operações simultâneas por minuto e são adaptáveis com base na carga atual da CPU.

Aviso

Recomendamos que você deixe essa configuração desabilitada, a menos que recomendado diretamente por um membro da equipe do . As operações do Git raramente são o que mais gera uso de CPU e RAM. A habilitação desse recurso pode aumentar a propensão a falhas das operações do Git em condições de alta carga, mas não aborda a causa subjacente dessas condições.

  1. Em uma conta administrativa no Enterprise Server, no canto superior direito de qualquer página, clique em .

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  3. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  4. Em "Limitação de Taxa", selecione Habilitar Limitação de Taxa do Git.

  5. Em "Limite de Rede do Repositório", digite um limite para cada rede de repositório.

  6. Em "Limite de ID de Usuário", digite um limite para cada ID de usuário.

  7. 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.

  8. Aguarde a conclusão da execução de suas configurações.

Você pode aplicar um limite de taxa a execuções de fluxo de trabalho de Actions. Para mais informações sobre Actions, confira Sobre o Actions para empresas.

Sua instância do Enterprise Server atribui cada trabalho de fluxo de trabalho do Actions a um executor. Se a sua instância não puder atribuir imediatamente um trabalho a um executor disponível, o trabalho aguardará em uma fila até que um executor esteja disponível. Se o Actions ficar uma carga alta continua, a fila poderá fazer backup e o desempenho da sua instância do Enterprise Server} poderá diminuir.

Para evitar essa degradação de desempenho, você pode configurar um limite de taxa para Actions. Esse limite de taxa é expresso em execuções de trabalho por minuto. O Enterprise Server calcula e aplica o limite de taxa para a soma total de todas as execuções de trabalho na instância. Se as execuções excederem o limite de taxa, as execuções adicionais falharão em vez de entrar na fila. O erro a seguir aparecerá 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 limite de taxa apropriado protege a sua instância do Enterprise Server contra o uso anormal do Actions sem interferir nas operações diárias. O limite exato depende dos recursos disponíveis da instância e do perfil de carga geral. Para saber mais sobre os requisitos de hardware do Actions, confira Primeiros passos com o Actions para o Enterprise Server.

Por padrão, o limite de taxa para Actions está desabilitado. Como o Enterprise Server pode lidar com picos temporários de uso sem degradação do desempenho, esse limite de taxa se destina a fornecer proteção contra carga alta sustentada. Recomendamos deixar o limite de taxa desabilitado, a menos que você esteja enfrentando problemas de desempenho. Em alguns casos, Suporte do pode recomendar que você ative um limite de taxa para Actions.

  1. Conecte-se via SSH ao sua instância do 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 Acesar o shell administrativo (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 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
    
  3. Para desabilitar o limite de taxa depois de habilitado, execute o comando a seguir.

    ghe-config actions-rate-limiting.enabled false
    
  4. Para aplicar a configuração, execute o comando a seguir.

    ghe-config-apply
    
  5. Aguarde a conclusão da execução de suas configurações.

Se o número de solicitações AJAX para sua instância do Enterprise Server causar problemas, talvez seja necessário editar o limite de taxa para o controlador WebSockets usado por essas atualizações dinâmicas. Para obter detalhes sobre como exibir solicitações ativas, confira Sobre os painéis do monitor.

Por padrão, um máximo de 100 solicitações é permitido por minuto para cada endereço IP. Os administradores com acesso ao shell administrativo podem usar o utilitário ghe-config para definir app..web-sockets-rate-limit com o número de solicitações permitidas por minuto para cada endereço IP ou desabilitar esse limite de taxa. Definir o limite para qualquer valor que não seja um inteiro positivo (por exemplo, 0, -1, disabled) desabilita a limitação de taxa no controlador WebSockets para atualizações dinâmicas.

A definição da configuração app..web-sockets-rate-limit foi introduzida em 3.17.1.

Importante

Esse limite de taxa não será aplicado até que você também habilite o limitador de taxa global usando ghe-config app..rate-limiting-enabled 1. Quando você habilita o limitador de taxa global, outros recursos do também podem ter limites de taxa. Monitore sua instância de perto para verificar se há rejeições inesperadas de solicitação.

Depois de fazer alterações nos valores dessas configurações, execute ghe-config-apply para aplicar as configurações.