Migrando do servidor antigo para o novo, após definir todos os serviços, percebo uma grande queda de pacotes rx na minha 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 mostre nada:
$ cat /sys/class/net/eth2/statistics/rx_dropped
0
Então, eu vejo isso rx_missed_errors
:
$ cat /sys/class/net/eth2/statistics/rx_missed_errors
7142467
Como posso solucionar problemas e descobrir qual 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
linux
linux-networking
cuonglm
fonte
fonte
Respostas:
A maioria dos motoristas trocar seu uso dos contadores
rx_missed_errors
,rx_fifo_errors
erx_over_errors
, mas eles normalmente definir um ou mais desses contadores para o contador MPC (contagem de pacote perdido), que é incrementado quando um pacote chega e é perdido por causa da placa de fila FIFO está cheia.Este é o caso do driver ixgbe:
Portanto,
rx_missed_errors
para ixgbe é o MPC.Há uma excelente postagem no blog da Intel que descreve as causas da queda do MPC usando uma ótima analogia: https://communities.intel.com/community/tech/wired/blog/2009/11/04/how-the-kitchen -sink-e-estatísticas-explique-e-trate-descartou pacotes
Além disso, verifique se não há uma incompatibilidade de velocidade e duplex entre sua NIC e o switch. Se o seu switch considerar que sua NIC é mais rápida do que realmente é, você terá problemas no lado da NIC.
Por fim, maximizar o tamanho do buffer de anel da sua NIC pode ajudar se a causa principal acabar sendo o desempenho diante de rajadas. Você pode encontrar o valor máximo com
ethtool -g eth2
e depois configurá-lo comethtool -G
.fonte