+ Responder ao Tópico



  1. #1

    Padrão ksoftirq usando alto processamento e derrubando a Rede

    Olá pessoal,

    Estou pelejando já tem mais de uma semana com o seguinte problema: vira e mexe 2 processos do ksoftirq vão nas alturas com 40 à 100% de cpu e quando ocorre isso simplesmente a rede dá uma travada e gráfico de uso de banda vai lá embaixo. Nosso link é de 500Mbps mas o tráfego mesmo de pico chega à uns 250Mbps. Antes a máquina Firewall era um Intel Quad Core com 2 Intel Gigabit PCI-e e cabeamento CAT6. Hoje a máquina Firewall é Intel Xeon de 8 núcleos com 24Gb de ram usando as 2 interfaces 82575EB Gigabit da placa mãe Server que usa o driver igb:

    Intel(R) Xeon(R) CPU E5640 @ 2.67GHz
    Motherboard Intel S5520HC

    Com esse hardware diminuiu a intesidade dos problemas mas mesmo assim eles ocorrem.
    Ja tentei diversas optimizações para ver se acabava com o problema. Hoje estou usando essas optimizações:

    No sysctl.conf:
    ==========
    net.ipv4.tcp_congestion_control = cubic
    net.ipv4.tcp_window_scaling = 0
    net.ipv4.tcp_syncookies = 1
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.neigh.default.gc_thresh1 = 65535
    net.ipv4.neigh.default.gc_thresh2 = 65535
    net.ipv4.neigh.default.gc_thresh3 = 65535
    net.ipv4.route.gc_min_interval = 0
    net.ipv4.route.max_size = 524288
    net.ipv4.tcp_ecn = 0
    kernel.printk = 3 4 1 3

    Optimizações de proc:
    ===============
    echo 3276822 > /proc/sys/net/nf_conntrack_max
    echo 86400 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

    Alguém tem alguma idéia ou teve este mesmo problema? Será que as interfaces não estão suportando o tráfego? Se for o caso alguém me indicaria um modelo e marca para alto tráfego?

    Também tentei com as distros Debian e CentOS e ambos se comportaram da mesma forma. Não acredito que a distro esteja influenciando nesse caso e sim alguma configuração ou hardware adequado.

    []´s a todos e agradeço qualquer bizu.

  2. #2
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão Re: ksoftirq usando alto processamento e derrubando a Rede

    Humm, recomendo ficar monitorando o /proc/interrupts pra ver se algo errado acontece na hora
    Código :
    watch cat /proc/interrupts
    Ver qual número dispara rapidamente na hora do uso de processador.
    Útil também é o powertop, mostra qual processo está acordando a cpu.

  3. #3

    Padrão Re: ksoftirq usando alto processamento e derrubando a Rede

    Eu já monitorava com o watch -n0 cat /proc/interrupts e no momento que ocorre o problema os acessos das interrupções das interfaces de rede vão ficando lentas, quase parando e algumas vezes parava quando chegava à 100%.

  4. #4
    Mikrotik inSide Avatar de luizbe
    Ingresso
    Sep 2005
    Localização
    Governador Valadares
    Posts
    1.212
    Posts de Blog
    1

    Padrão Re: ksoftirq usando alto processamento e derrubando a Rede

    Brother, pra ser sincero eu não sei qual o seu problema,
    mas por curiosidade eu dei uma googlada,
    Google

    achei isso aqui:
    https://bugzilla.novell.com/show_bug.cgi?id=465039

    e em quase todos os casos que li la pelo google, foi resolvido fazendo uma atualização de Kernel,
    talvez no seu caso um downgrade , mas pelo visto esse problema está acontecendo com várias pessoas.
    Confere aí.

  5. #5

    Padrão Re: ksoftirq usando alto processamento e derrubando a Rede

    Olá pessoal,

    Resolvi fazer 2 coisas para ver se resolve esse problema que um dia alguma pessoa poderá ter com tráfego alto como esse:

    1) Separar a rede entre o router e o firewall que hoje está no mesmo switch que os outros servidores e rotas de clientes. Logicamente tudo está dividido em VLANs mas resolvi separar porque também estou desconfiado do switch não estar suportando muito bem.

    2) Mexi em alguns parâmetros de tcp e udp nos timeouts com o objetivo de diminuir as conntracks nos períodos de pico onde chegavam à mais de 200000 conntracks. Uma outra teoria minha seria que o sistema não estivesse suportando o grande número de conntracks e na hora de processá-las estariam engargalando na transmissão entre as interfaces de rede.

    Bem vamos ver como vai ficar.