Tuning e hardware#
O que é automático#
| Script | Quando roda | O que faz |
|---|---|---|
portgrid-tuning |
boot e request system tuning apply |
Calcula sysctl por CPU/RAM (vizinhos ARP/ND, backlog, buffers, conntrack, writeback de disco), governador de CPU e THP, journal, panic reboot, desliga timers de madrugada do apt |
cgnat-nic-tuning |
boot do dataplane | Filas por CPU do nó NUMA, anéis, RPS/RFS/XPS, IRQs fixos 1:1 (irqbalance off), UDP por porta no RSS, pause/EEE off |
cgnat-steering |
com o tuning | Direcionamento de filas/IRQs |
| Drop-in do GRUB | após update-grub e reboot |
isolcpus, max_cstate, nosmt, mitigations=off, skew_tick=1, audit=0 (só as que você pediu) |
portgrid-tuning --show compara o valor atual de cada parâmetro com o recomendado. Na CLI: show system tuning e request system tuning apply.
Opções (set system tuning ...)#
Gravadas em /etc/portgrid/tuning.conf: AUTO_SYSCTL, CPU_GOVERNOR, THP, PANIC_REBOOT, JOURNAL_MAX_MB, DISABLE_BACKGROUND_TIMERS. Valores definidos em set system sysctl parameter prevalecem (arquivo 99).
Fora do escopo
kdump e watchdog de hardware ficam de fora do tuning automático.
Escolha de hardware#
| Item | Recomendação |
|---|---|
| NIC | Intel (ixgbe/i40e/ice) ou Mellanox (mlx5) com XDP nativo; 10/25/40/100G conforme o tráfego |
| CPU | Poucos núcleos rápidos do mesmo nó NUMA da placa; filas = núcleos |
| RAM | Tabela de fluxos + mapas BPF; 8–16 GB atende a maioria dos ISPs médios |
| Disco | SSD para audit.db/history.db; backup externo |
| BIOS | Perfil de desempenho, C-states limitados, Hyper-Threading conforme a política de latência |
Como medir#
show cgnat performance # throughput, fluxos, drops
show cgnat stats
show interfaces <nic> statistics
mpstat -P ALL 1 ; ethtool -S <nic> | grep -i -E 'drop|miss|err'
rx_missed/rx_dropped subindo = fila/anel/CPU insuficientes. Sempre compare antes e depois de cada mudança.