Aumenta a média em média junto com a taxa de transferência do firewall

2

Acabei de empurrar uma grande alteração para o meu código de backend e notei um aumento enorme na média de carga nas poucas horas desde o push. Eu olhei para Munin para saber qual era o problema e percebi que, junto com a média de carga, o throughput do firewall aumentara enormemente também:

IssoéacompanhadodeaumentosnousodaCPU,interrupçõesemédiadecarga,queadicionamosaquiparacompletar:

Alguém sabe o que poderia estar acontecendo aqui? Meu pensamento imediato foi que as mudanças no código colocam mais carga no banco de dados (PostgreSQL), mas não consigo encontrar uma razão para o aumento do throughput do firewall. O tráfego permaneceu o mesmo, a única diferença aqui é o código Python executado sob Gunicorn. Em htop , o processo de CPU mais alto muda entre Gunicorn e Postgres, exatamente como antes (sugerindo que o Postgres não se tornou subitamente um processador).

EDIT: Esta é a saída de iptables -L -n -v :

Chain INPUT (policy ACCEPT 298K packets, 357M bytes)
 pkts bytes target     prot opt in     out     source               destination
 7705  516K fail2ban-ssh  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 296K packets, 372M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination
   17  1720 REJECT     all  --  *      *       58.218.201.19        0.0.0.0/0            reject-with icmp-port-unreachable
   16  1228 REJECT     all  --  *      *       210.45.250.3         0.0.0.0/0            reject-with icmp-port-unreachable
 7583  505K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

UPDATE: Eu reiniciei todo o servidor e a média de carga subiu de volta para cerca de 7, então acho que isso significa que posso descartar problemas com o cache com dados antigos após as alterações no esquema do banco de dados.

    
por benwad 22.04.2015 / 14:53

1 resposta

1

O nome do plugin munin é um pouco infeliz, porque ele realmente não mede nada diretamente relacionado ao firewall; mostra quantos pacotes são recebidos pelo sistema em qualquer interface e quantos pacotes são encaminhados pelo sistema. Por isso, não importa quantas regras de firewall (se houver!) Você possui. Ele examina o arquivo /proc/net/snmp e monitora o terceiro e o sexto campo da linha "Ip:".

Você está falando com seu servidor postgreSQL via tcp / ip ou através de um soquete de domínio unix? Se via tcp / ip, talvez as consultas estejam sendo executadas duas vezes devido a algum bug em suas alterações. Caso contrário, você terá que pesquisar mais sobre a origem desses pacotes extras de entrada.

    
por 22.04.2015 / 16:15