Skip to content

Instantly share code, notes, and snippets.

@Esl1h
Last active May 31, 2023 14:10
Show Gist options
  • Save Esl1h/65c0d67780ee6212ebce00efe76d6007 to your computer and use it in GitHub Desktop.
Save Esl1h/65c0d67780ee6212ebce00efe76d6007 to your computer and use it in GitHub Desktop.
A hardening/tunning to sysctl.conf to Linux servers (tested on Debian, CentOS, Amazon Linux and Ubuntu). Otimização para o sysctl.conf em servidores linux
#CONTEUDO PARA O SYSCTL.CONF
# Aumentar o num. max de conex tcp orfans
# Conexões que foram encerrados e já não têm um identificador de arquivo anexado a eles
net.ipv4.tcp_max_orphans = 262144
# Aumentar o número de conexões
net.core.somaxconn = 16384
# Aumentar o número de conexões de entrada backlog
# O número máximo de pacotes que podem ser enfileirados na entrada da interface
# Se o kernel está recebendo pacotes mais rápido do que podem ser processados
# Esta fila aumenta
net.core.netdev_max_backlog = 16384
# Máximo para Socket Receive Buffer (16Mb)
net.core.rmem_max = 16777216
# Padrão de envio de socket Buffer (16Mb)
net.core.wmem_max = 16777216
# Aumentar a alocação para tamanho maximo
net.ipv4.tcp_wmem = 4096 12582912 16777216
net.ipv4.tcp_rmem = 4096 12582912 16777216
# Aumentar o número de pedidos pendentes syn permitidos
net.ipv4.tcp_max_syn_backlog = 8096
# Para conexões HTTP persistentes
net.ipv4.tcp_slow_start_after_idle = 0
# Aumentar o tamanho de tcp-TIME-WAIT para evitar ataques de DOS simples
net.ipv4.tcp_tw_reuse = 1
# Range de portas para conexão
net.ipv4.ip_local_port_range = 1024 65535
fs.file-max = 2097152
#
fs.inotify.max_user_watches=524288
# Timeout - fechamento de conexões TCP após 7 segundos
net.ipv4.tcp_fin_timeout = 7
# Evitar cair de volta para retardar início depois que uma conexão estiver inativo
# Mantém nosso cwnd grande com as conexões de Atividade
net.ipv4.tcp_slow_start_after_idle = 0
# Só repetir a criação de conexões TCP duas vezes
# Minimizar o tempo que leva para que uma tentativa de conexão falhe
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
# As unidades estão em tamanho de página (tamanho da página padrão é 4 KB)
# Estas são variáveis globais que afetam total de páginas para os socketes TCP
# 8388608 * 4 = 32 GB
# Quando o mem atribuído pelo TCP excede a "pressão", o kernel irá transferir a memória TCP
# Coloca os valores altos para evitar basicamente qualquer pressão mem nunca ocorra
net.ipv4.tcp_mem = 8388608 8388608 8388608
# Aumenta/limita o número máximo de soquetes permitido em TIME_WAIT
net.ipv4.tcp_max_tw_buckets = 6000000
# Aumenta/limita conexões max semi-aberto.
net.ipv4.tcp_max_syn_backlog = 65536
# Diminuir o uso de swap
# caso não tenha swap, dependendo do tipo de serviço no servidor,
# coloque ao menos alguns megabytes:
# siga este how-to:
# https://esli.blog.br/ram-e-swap
vm.swappiness = 5
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
# baseado no Tuning da Netflix para as EC2 com Ubuntu:
# https://www.slideshare.net/brendangregg/performance-tuning-ec2-instances
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment