Eu configurei collectd
, InfluxDB
e Grafana
para monitorar meus servidores.
Observei que o Grafana mostra (com base no collectd
plugin de rede) velocidades de download mais altas que wget
.
Tenho conexão de fibra estável de 300 Mbps. Eu escolhi o Debian Stretch DVD como um arquivo de teste.
Com wget
obtive no máximo 37,6 MB / s (quase o tempo todo), o que é cerca de 300 Mbps.
collectd
plug-in de rede reporta if_octets
a cada 10 segundos para InfluxDB
. Para obter a utilização da interface, escrevi a consulta (multiplicação por 8 convert para bits de bytes):
select derivative("value", 1s) * 8 from interface_rx where type = 'if_octets'
Os valores máximos que recebi são:
1500155290145892000 3.293407499020192e+08
1500155300145869000 3.219917429810089e+08
1500155310146384000 3.2986061457834923e+08
1500155320146017000 3.2966692997633016e+08
O que significa cerca de 329 Mbps.
De acordo com o wget eu estava baixando esse arquivo com velocidade máxima permitida (300 Mbps) o tempo todo, então InfluxDB
1 segundo derivative
deveria me obter o número de bytes reunidos durante esses 10 segundos divididos por 10, que deveria cerca de 300 Mbps.
Eu consultei% rawif_octets
.
select value * 8 from interface_rx where type = 'if_octets'
1500188090410383000 1.1244408992e+10
1500188100410730000 1.4540160304e+10
1500188110411085000 1.783722016e+10
A diferença entre as medidas é de cerca de 0.33e+10
bits, que é cerca de 3300 Mb
por dez segundos, que é cerca de 330 Mbps
.
Além disso, a diferença entre 1500188090410383000
e 1500188100410730000
timestamps é 0.001 s
, portanto, esse não é o problema (a diferença entre 3000 Mb
e 3300 Mb
é de aproximadamente 10%, então culpar collectd
relatórios vezes eles devem diferir em cerca de 10% também, o que é cerca de 1s
.)
Esse valor de 329 Mbps é mais rápido que meu limite de velocidade de conexão e é diferente do valor preciso de wget
. Alguém sabe por quê?
K.