2

I set up collectd, InfluxDB and Grafana to monitor my servers. I observed that Grafana shows (based on collectd network plugin) higher download speeds than wget.

I have stable 300 Mbps fiber connection. I chose Debian Stretch DVD as a testing file.

With wget I got maximum 37,6 MB/s (almost all the time), which is about 300 Mbps.

collectd network plugin reports if_octets every 10 seconds to InfluxDB. To get interface utilization I wrote the query (multiplication by 8 convert to bits from bytes):

select derivative("value", 1s) * 8 from interface_rx where type = 'if_octets'

The maximum values I got are:

1500155290145892000 3.293407499020192e+08
1500155300145869000 3.219917429810089e+08
1500155310146384000 3.2986061457834923e+08
1500155320146017000 3.2966692997633016e+08

Which means about 329 Mbps.

According to wget I was downloading this file with maximum allowed speed (300 Mbps) all the time, so InfluxDB 1 second derivative should get me the number of bytes gathered during this 10 seconds divided by 10, which should be about 300 Mbps.

I queried raw if_octets.

select value * 8 from interface_rx where type = 'if_octets'

1500188090410383000 1.1244408992e+10
1500188100410730000 1.4540160304e+10
1500188110411085000 1.783722016e+10

The difference between measurements are about 0.33e+10 bits, which is about 3300 Mb per ten seconds, which is about 330 Mbps.

Also, the difference between 1500188090410383000 and 1500188100410730000 timestamps is 0.001 s, so this is not the issue (the difference between 3000 Mb and 3300 Mb is about 10%, so to blame collectd reporting times they should differ by about 10% too, which is about 1s.)

This 329 Mbps value is faster than my connection speed limit and is different than accurate wget value. Does anybody know why?

K.

kmwil
  • 225
  • 1
  • 2
  • 12

2 Answers2

0

You are forgetting network overhead. wget reports payload bytes transferred, while interface statistics counters (that collectd uses) include Ethernet frames as well as IP and TCP headers, and count retransmitted packets.

Simon Richter
  • 3,209
  • 17
  • 17
0

Advertised bandwidths from network service providers are subject to:

(a) ease of understanding (300 is simpler than 329.7)

(b) 95th percentile metering (https://www.semaphore.com/95th-percentile-bandwidth-metering-explained-and-analyzed/)

(c) burstable billing

In other words, the "300" number they gave you when you signed your contract does not necessarily have to be accurate.

Michael Martinez
  • 2,543
  • 3
  • 20
  • 31