Como solucionar problemas de rx_missed_errors?

8

Migrando do servidor antigo para o novo, depois de configurar todos os serviços, percebo um grande número de pacotes rx descartados no meu NIC:

$ ifconfig eth2 | grep 'RX.*drop'
          RX packets:2059646370 errors:0 dropped:7142467 overruns:0 frame:0

Mas /sys/class/net/eth2/statistics/rx_dropped não mostra nada:

$ cat /sys/class/net/eth2/statistics/rx_dropped
0

Então, vejo que rx_missed_errors :

$ cat /sys/class/net/eth2/statistics/rx_missed_errors
7142467

Como posso solucionar problemas e descobrir o que causa rx_missed_errors ?

Estou executando o Ubuntu 12.04.5 LTS, com:

$ ethtool -i eth2
driver: ixgbe
version: 3.15.1-k
firmware-version: 0x800003e1
bus-info: 0000:07:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
    
por cuonglm 30.06.2015 / 12:18

1 resposta

8

A maioria dos drivers troca seu uso dos contadores rx_missed_errors , rx_fifo_errors e rx_over_errors , mas eles geralmente definem um ou mais desses contadores para o contador MPC (contagem de pacotes perdidos), que é incrementado quando um pacote chega e é perdido porque a fila FIFO do cartão está cheia.

Este é o caso do driver ixgbe:

$ grep rx_missed_errors drivers/net/ixgbe/*
drivers/net/ixgbe/ixgbe_ethtool.c:      {"rx_missed_errors", IXGBE_STAT(net_stats.rx_missed_errors)},
drivers/net/ixgbe/ixgbe_main.c: adapter->net_stats.rx_missed_errors = total_mpc;

Então rx_missed_errors para ixgbe é o MPC.

Há uma ótima postagem no blog do site da Intel que descreve as causas da queda do MPC usando uma ótima analogia: link

Além disso, verifique se não há diferença de velocidade e duplex entre a NIC e o switch. Se o seu switch achar que sua NIC está mais rápida do que realmente é, você terá problemas no lado da NIC.

Finalmente, maximizar o tamanho do buffer de toque da sua NIC pode ajudar se a causa raiz acabar sendo o desempenho em face de rajadas. Você pode encontrar o valor máximo com ethtool -g eth2 e depois defini-lo com ethtool -G .

    
por 23.10.2015 / 20:26