IO de rede diferente no comando dstat e netstat

0

Eu quero obter a estatística total de E / S da rede. Usando o comando dstat -n , recebi esta saída:

-net/total-
 recv  send
   0     0 
7334B 7380B
7084B 6948B
7411B 6672B
7030B 6828B
7130B 6606B

Mas usando o comando sudo netstat , recebi esta saída:

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 kafka1:37530            kafka2:9092             ESTABLISHED
tcp        0    264 kafka1:ssh              192.168.1.110:56686     ESTABLISHED
tcp        0      0 kafka1:9092             kafka2:55146            ESTABLISHED
tcp        0      0 kafka1:9092             kafka3:46216            ESTABLISHED
tcp        0      0 kafka1:49042            kafka3:9092             ESTABLISHED
tcp        0      0 kafka1:58414            zookeeper1:2181         ESTABLISHED

Por que a saída de dstat é muito maior que a saída (agregada) de netstat ? Quais são reais?

    
por Soheil Pourbafrani 22.02.2018 / 08:28

1 resposta

2

Acho que você entendeu mal o que o netstat faz.

netstat lista as portas / fluxos / soquetes de rede aberta e as conexões ativas. Embora isso seja relacionado a E / S, ele não conta os bytes enviados / recebidos.

Não sei o que você quer dizer com a saída agregada , mas os números após seus nomes de host kafka1 e kafka2 são portas, não bytes. A única coisa que pode fazer, que pode lhe dar um insight na taxa de transferência, é contar os pacotes.

Se você quer dizer Recv-Q e Send-Q

a página man diz isso:

Recv-Q
Estabelecido : A contagem de bytes não copiados pelo programa do usuário conectado a este soquete.
Escutando : Desde o Kernel 2.6.18, esta coluna contém o atual backlog de sin.

Send-Q
Estabelecido : A contagem de bytes não reconhecidos pelo host remoto.
Listening : Desde o kernel 2.6.18 esta coluna contém o tamanho máximo do backlog de sincronização.

    
por Robert Riedl 22.02.2018 / 09:21