queremos entender quais são os aspectos quando o net.core.netdev_max_backlog
valor do kernel é muito baixo e não é o recomendado
em nossas máquinas Linux RHEL, o valor para este parâmetro é1000
uma vez que nossas máquinas são máquinas HADOOP (BIGDATA cluster)
vimos que a melhor prática é aumentar o valor para65536
como descreve em:
https://datasayans.wordpress.com/2015/11/04/performance-kernel-tuning-for-hadoop-environment/
fundo:
O parâmetro do kernel “netdev_max_backlog” é o tamanho máximo da fila de recebimento. Os quadros recebidos serão armazenados nesta fila após serem retirados do buffer de anel na NIC. Use um valor alto para cartões de alta velocidade para evitar a perda de pacotes. Em aplicativos de tempo real como roteador SIP, a longa fila deve ser atribuída com CPU de alta velocidade, caso contrário, os dados na fila ficarão desatualizados (antigos).
então - quais poderiam ser os aspectos quando esse parâmetro do kernel está com valor não insuficiente?
outro - referência - https://gist.github.com/leosouzadias/e37cd189794bb78de502ac25cb605576
https://www.senia.org/2016/02/28/hadoop-and-redhat-system-tuning-etcsysctl-conf/
https://mapredit.blogspot.com/2014/11/hadoop-server-performance-tuning.html
https://gist.github.com/phaneesh/38b3d80b38cc76abb1d010f598fbc90a
Execute o seguinte comando:
O seguinte será a saída:
02fdffa5 é a contagem de pacotes 000000aa é o número de pacotes que foram descartados
Execute o comando e veja se a quantidade de pacotes que foram descartados aumentou convertendo o valor em decimal. Se o número de pacotes aumentou, aumente
net.core.netdev_max_backlog
para um valor apropriado.Você pode aumentar temporariamente o valor executando o seguinte comando:
Você pode tornar o valor permanente executando o seguinte comando:
Além disso, um valor de 65536 é excessivo e desnecessário para o desempenho adequado do sistema. Obviamente, você deve alterar
X
para o valor que deseja usar.Se a segunda e terceira coluna do softnet_stat não estiver crescendo, é necessário aumentar
net.core.netdev_max_backlog
Fonte: Como ajustar
net.core.netdev_max_backlog
e sintonizáveis donet.core.netdev_budget
kernel sysctl?