Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Nós/ O&M do nó/ Otimização de parâmetros do sistema de nó/ Lista de parâmetros do sistema de nós que podem ser otimizados
Atualizado em 2024-11-28 GMT+08:00

Lista de parâmetros do sistema de nós que podem ser otimizados

O CCE fornece parâmetros de sistema de nó padrão, o que pode causar gargalos de desempenho em alguns cenários. Portanto, você pode personalizar e otimizar alguns parâmetros do sistema de nó. Lista de parâmetros do sistema de nós que podem ser otimizados descreve os parâmetros do sistema de nó.

  • A modificação tem certos riscos. Familiarize-se com os comandos do Linux e o sistema operacional Linux.
  • Os parâmetros listados em Tabela 1 foram testados e verificados. Não modifique outros parâmetros. Caso contrário, podem ocorrer falhas de nó.
  • Os comandos para modificar parâmetros do sistema de nó são válidos somente quando imagens públicas são usadas. Os comandos fornecidos neste documento são apenas para referência quando imagens privadas são usadas.
  • Depois que o nó for reiniciado, execute o comando sysctl -p para atualizar o valor do parâmetro.
Tabela 1 Lista de parâmetros do sistema que podem ser otimizados

Parâmetro

Localização do parâmetro

Descrição

Referência

kernel.pid_max

/etc/sysctl.conf

Número máximo de IDs de processo em um nó

Obtenção do parâmetro:

sysctl kernel.pid_max

Alteração de limites de ID de processo (kernel.pid_max)

RuntimeMaxUse

/etc/systemd/journald.conf

Limite superior da memória ocupada pelo cache de log do nó. Se este parâmetro não for definido, uma grande quantidade de memória será ocupada depois que o sistema for executado por um longo tempo.

Obtenção do parâmetro:

cat /etc/systemd/journald.conf | grep RuntimeMaxUse

Alteração de RuntimeMaxUse da memória usada pelo cache de log em um nó

Openfiles

/etc/security/limits.conf

Número máximo de manipuladores de arquivo para um único processo em um nó, que pode ser ajustado conforme necessário.

Obtenção do parâmetro:

ulimit -n

Alterar o número máximo de identificadores de arquivo para um único processo em um nó

(inside the Openfiles container)

LimitNOFILE

LimitNPROC

  • CentOS/EulerOS:
    • Nós do Docker: /usr/lib/systemd/system/docker.service
    • Nós do Docker: /usr/lib/systemd/system/containerd.service
  • Ubuntu:
    • Nós do Docker: /lib/systemd/system/docker.service
    • Nós do Docker: /lib/systemd/system/containerd.service

Número máximo de alças de arquivo para um único processo em um contêiner, que pode ser ajustado conforme necessário.

Obtenção do parâmetro:

Nós do Docker:
cat /proc/`pidof dockerd`/limits | grep files
Nós de contêiner:
cat /proc/`pidof containerd`/limits | grep files

Alterar o número máximo de alças de arquivo para um único processo de contêiner

file-max

/etc/sysctl.conf

Número máximo de alças de arquivo no sistema, que podem ser ajustadas conforme necessário.

Obtenção do parâmetro:

sysctl fs.file-max

Alterar o número máximo de identificadores de arquivos em nível de sistema em um nó

nf_conntrack_buckets

nf_conntrack_max

/etc/sysctl.conf

Capacidade da tabela de rastreamento de conexão, que pode ser ajustada conforme necessário.

Uso do bucket = [nf_conntrack_count]/[nf_conntrack_buckets]

Ajuste o valor dos buckets para garantir que o uso do bucket seja menor que 0,7.

Obtenção do parâmetro:

sysctl net.netfilter.nf_conntrack_count
sysctl net.netfilter.nf_conntrack_buckets
sysctl net.netfilter.nf_conntrack_max

Modificação de parâmetros do nó de kernel

net.netfilter.nf_conntrack_tcp_timeout_close

/etc/sysctl.conf

Tempo de expiração da entrada da conexão no estado de fechamento na tabela de rastreamento de conexão. Diminuir o tempo de expiração pode acelerar a reciclagem.

Obtenção do parâmetro:

sysctl net.netfilter.nf_conntrack_tcp_timeout_close

net.netfilter.nf_conntrack_tcp_be_liberal

/etc/sysctl.conf

O valor do parâmetro é 0 ou 1.

  • 0: a função está desativada. Todos os pacotes RST que não estão na janela TCP são marcados como inválidos.
  • 1: a função está ativada. Somente os pacotes RST que não estão na janela TCP são marcados como inválidos. Nos contêineres, habilitar esse parâmetro pode impedir que a largura de banda das conexões TCP que foram convertidas usando NAT seja limitada.

Obtenção do parâmetro:

sysctl net.netfilter.nf_conntrack_tcp_be_liberal

tcp_keepalive_time

/etc/sysctl.conf

Intervalo no qual uma mensagem de Keepalive de TCP é enviada. Se esse parâmetro for definido com um valor grande, as conexões TCP podem ser suspensas na fase Close_wait por um longo tempo, esgotando os recursos do sistema.

Obtenção do parâmetro:

sysctl net.ipv4.tcp_keepalive_time

tcp_max_syn_backlog

/etc/sysctl.conf

Número máximo de semiconexões TCP, ou seja, o número máximo de conexões na fila SYN_RECV.

Obtenção do parâmetro:

sysctl net.ipv4.tcp_max_syn_backlog

tcp_max_tw_buckets

/etc/sysctl.conf

Especifica o número máximo de soquetes no estado time-wait que pode existir a qualquer momento. Se o valor do parâmetro for muito grande, os recursos do nó podem estar esgotados.

Obtenção do parâmetro:

sysctl net.ipv4.tcp_max_tw_buckets

net.core.somaxconn

/etc/sysctl.conf

Número máximo de conexões TCP. Este parâmetro controla o número de conexões TCP em uma fila. Se esse parâmetro for definido como um valor pequeno, o número de conexões TCP é propenso a insuficiência. Se este parâmetro estiver definido como um valor grande, os recursos do sistema poderão ser desperdiçados porque cada cliente à espera de ligação na fila de ligação ocupa determinados recursos de memória.

Obtenção do parâmetro:

sysctl net.core.somaxconn

max_user_instances

/etc/sysctl.conf

Número máximo de instâncias de inotify permitidas para cada usuário. Se o valor do parâmetro for muito pequeno, o número de instâncias de inotify pode ser insuficiente nos contêineres.

Obtenção do parâmetro:

sysctl fs.inotify.max_user_instances

max_user_watches

/etc/sysctl.conf

Número máximo de diretórios de todas as instâncias de monitoramento. Se o valor do parâmetro for muito pequeno, o número de diretórios pode ser insuficiente nos contêineres.

Obtenção do parâmetro:

sysctl fs.inotify.max_user_watches

netdev_max_backlog

/etc/sysctl.conf

Tamanho da fila de recebimento de pacotes da pilha de protocolos de rede. Se o valor do parâmetro for muito pequeno, o tamanho da fila pode ser insuficiente.

Obtenção do parâmetro:

sysctl net.core.netdev_max_backlog

net.core.wmem_max

net.core.rmem_max

/etc/sysctl.conf

Tamanho da memória (bytes) do buffer de envio e recebimento. Se este parâmetro estiver definido como um valor pequeno, o tamanho da memória poderá ser insuficiente em cenários de ficheiros grandes.

Obtenção do parâmetro:

sysctl net.core.wmem_max
sysctl net.core.rmem_max

net.ipv4.neigh.default.gc_thresh1

net.ipv4.neigh.default.gc_thresh2

net.ipv4.neigh.default.gc_thresh3

/etc/sysctl.conf

Otimização da coleta de lixo de entradas ARP.

Obtenção do parâmetro:

sysctl net.ipv4.neigh.default.gc_thresh1
sysctl net.ipv4.neigh.default.gc_thresh2
sysctl net.ipv4.neigh.default.gc_thresh3

vm.max_map_count

/etc/sysctl.conf

Se este parâmetro é ajustado a um valor pequeno, uma mensagem é indicada indicando que o espaço é insuficiente durante a instalação de ELK.

Obtenção do parâmetro:

sysctl vm.max_map_count