Todos os produtos
Search
Central de documentação

Alibaba Cloud DNS:Como mitigar a limitação de taxa de solicitações de consulta DNS no ECS?

Última atualização: Jun 27, 2026

Cada instância ECS em uma VPC tem limite de 5.000 consultas DNS por segundo. Para mitigar a limitação de taxa, escale horizontalmente as instâncias ECS ou ative o serviço de cache nscd.

Cada instância do Elastic Compute Service (ECS) em uma Virtual Private Cloud (VPC) tem limite de 5.000 consultas DNS por segundo. Se o volume de consultas DNS de uma única instância ultrapassar esse limiar, ela ficará sujeita à limitação de taxa e não haverá garantia do SLA de disponibilidade. Para mitigar esse problema, considere as seguintes abordagens:

  • Escale horizontalmente as instâncias ECS para distribuir as solicitações de consulta DNS entre mais instâncias e reduzir o volume de consultas por instância.

  • Ative o serviço nscd (Name Service Cache Daemon) no host ECS para acelerar o cache.

    Nota

    Com o serviço nscd ativado, as alterações nos registros DNS demoram mais para entrar em vigor.

O que é o nscd?

O nscd é um serviço de cache do sistema que armazena informações de serviços de nomes, como passwd, group, hosts, services e netgroup. Ele reduz o número de consultas a serviços de nomes e o tráfego de rede, resultando em respostas mais rápidas. Este guia foca na configuração de hosts para diminuir as consultas DNS das instâncias ECS.

Comandos comuns do Linux para nscd

Comando

Descrição

yum install -y nscd

Instale o nscd.

systemctl start nscd

Inicia o nscd.

systemctl stop nscd

Interrompe o nscd.

systemctl restart nscd

Reinicia o nscd.

systemctl status nscd

Consulta o status operacional do nscd.

nscd -g

Visualize a configuração efetiva de todos os parâmetros e estatísticas de taxa de acerto do cache.

nscd -i

Invalida o cache especificado. É possível especifique passwd, group, hosts, services, netgroup, etc. Por exemplo: nscd -i hosts.

cat /etc/nscd.conf

Consulta os detalhes da configuração atual do nscd.

vi /etc/nscd.conf

Modifique os parâmetros de configuração do nscd.

Instalação do nscd

Geralmente, o nscd vem instalado por padrão no Linux. Para verifique se ele está presente na sua instância ECS, execute o comando abaixo:

systemctl status nscd # Check the running status of nscd.

Se a saída for semelhante à imagem a seguir, o nscd não está instalado.

image.png

Execute o comando abaixo para instale o nscd:

yum install -y nscd

image.png

Execute novamente o comando de status. O nscd está instalado, mas não em execução.

image.png

Ativação do serviço nscd

Execute o comando a seguir para iniciar o nscd:

systemctl start nscd

Execute o comando de status novamente para verifique se o nscd está em execução.

image.png

Nota

Para instale o nscd em sistemas operacionais CentOS ou Red Hat, execute o comando: yum install -y nscd.

Para instale o nscd em sistemas operacionais Debian ou Ubuntu, execute o comando: apt-get install -y nscd.

Parâmetros de configuração do nscd

O arquivo de configuração padrão do nscd é /etc/nscd.conf. Execute o comando abaixo para visualize a configuração:

cat /etc/nscd.conf

image.png

Descrição dos principais parâmetros de configuração

Parâmetro de configuração

Descrição

debug-level

reload-count

Defina quantas vezes uma entrada armazenada com sucesso no cache é atualizada ativamente antes de expirar.

paranoia

Modo paranoia. Quando ativado, o nscd reinicia periodicamente.

restart-interval

Intervalo entre reinícios automáticos quando o modo paranoia está ativado.

enable-cache

Ative o serviço de cache.

positive-time-to-live

TTL para caches de respostas bem-sucedidas.

negative-time-to-live

TTL para caches de respostas com falha. Defina como 0 para evitar que pesquisas malsucedidas afetem solicitações subsequentes.

check-files

Verifique periodicamente se arquivos relacionados ao cache (/etc/passwd, /etc/group, /etc/hosts) foram modificados. Caso detecte alterações, invalida o cache correspondente.

persistent

Mantém o conteúdo do cache durante reinícios do nscd. Recomendado quando o modo paranoia está ativado.

shared

Compartilha o mapeamento de memória do banco de dados do nscd com os clientes. O padrão é yes. Para consultar a taxa de acerto do cache com nscd -g, defina como no.

max-db-size

Tamanho máximo do banco de dados de cache do nscd, em bytes.

Importante
  • A configuração positive-time-to-live não tem efeito prático no cache DNS. O TTL real é determinado pelo valor retornado na resposta DNS.

Teste da eficácia do cache nscd

Teste com o nscd desativado

  1. Execute o comando a seguir na instância ECS para capturar pacotes UDP na porta 53:

    tcpdump -i any udp and port 53
  2. Em seguida, com o nscd desativado, execute o comando abaixo na instância ECS três vezes consecutivas.

    ping -c 1 -n www.taobao.com # Send one ping command to the domain name www.taobao.com.

    image.png

  3. Verifique os resultados da captura de pacotes. Três solicitações de consulta DNS aparecem na porta 53, cada uma retornando um registro de resolução. Isso confirma que as respostas DNS não estão em cache e que a instância ECS envia uma nova consulta pela porta 53 sempre que necessário.

    image.png

Teste com o nscd ativado

  1. Execute o comando start para ative o serviço nscd e confirme a ativação com o comando de consulta de status.

  2. Com o nscd ativado, execute o comando a seguir na instância ECS seis vezes consecutivas. Simultaneamente, capture pacotes na porta 53 da instância ECS.

    ping -c 1 -n www.taobao.com

    image.png

  3. Analise os resultados da captura de pacotes. Apenas uma solicitação de consulta DNS aparece na porta 53, confirmando que as consultas subsequentes usaram o cache do nscd em vez de passar pela porta 53.image.png

    Importante

    Durante a captura de pacotes, você pode notar que o tcpdump ainda captura pacotes de consulta DNS após a conclusão do comando ping. Esse comportamento decorre do mecanismo de atualização ativa do nscd e é esperado. Para desativar a atualização ativa, defina o parâmetro reload-count como 0.

  4. Também é possível verifique as estatísticas de acerto do cache. Execute o comando ping várias vezes e, em seguida, execute o comando abaixo para visualize as estatísticas:

    nscd -g # Output the configuration of all active parameters and cache hit ratio statistics.

    image.png