Я установил collectd
, InfluxDB
и Grafana
для мониторинга своих серверов.
Я заметил, что Grafana показывает (на основе сетевого плагина collectd
) более высокую скорость загрузки, чем wget
.
У меня стабильное оптоволоконное соединение со скоростью 300 Мбит / с. В качестве тестового файла я выбрал Debian Stretch DVD.
С wget
я получил максимум 37,6 МБ / с (почти всегда), что составляет около 300 Мбит / с.
collectd
сетевой плагин сообщает if_octets
каждые 10 секунд в InfluxDB
. Чтобы использовать интерфейс, я написал запрос (умножение на 8, преобразование в биты из байтов):
select derivative("value", 1s) * 8 from interface_rx where type = 'if_octets'
Максимальные значения, которые я получил:
1500155290145892000 3.293407499020192e+08
1500155300145869000 3.219917429810089e+08
1500155310146384000 3.2986061457834923e+08
1500155320146017000 3.2966692997633016e+08
Что означает около 329 Мбит / с.
Согласно wget, я загружал этот файл с помощью максимально допустимая скорость (300 Мбит / с) все время, поэтому InfluxDB
1 секунда производная
должна дать мне количество байтов, собранных за эти 10 секунд, разделенное на 10, что должно быть около 300 Мбит / с.
Я запросил необработанный if_octets
.
select value * 8 from interface_rx where type = 'if_octets'
1500188090410383000 1.1244408992e+10
1500188100410730000 1.4540160304e+10
1500188110411085000 1.783722016e+10
Разница между измерениями составляет около 0,33e + 10
бит, что составляет около 3300 МБ
за десять секунд, что составляет примерно 330 Мбит / с
.
Кроме того, разница между отметками времени 1500188090410383000
и 1500188100410730000
составляет 0,001 с
, поэтому проблема не в этом (разница между 3000 МБ
3000 Мб 11138707] и
3300 МБ
составляет около 10%, поэтому виноваты collectd
время отчетности, они также должны отличаться примерно на 10%, что составляет примерно 1 с
. )
Это значение в 329 Мбит / с выше моего предела скорости соединения и отличается от точного значения wget
. Кто-нибудь знает почему?
К.
Рекламируемая пропускная способность от поставщиков сетевых услуг зависит от:
(a) простоты понимания (300 проще, чем 329,7)
(b) 95-го процентиля измерения ( https : //www.semaphore.com/95th-percentile-bandwidth-metering-explained-and-analyzed/ )
(c) пакетный биллинг
Другими словами, номер «300», который они вам дали время подписания контракта не обязательно должно быть точным.
Вы забываете о сетевых издержках. wget
сообщает о переданных байтах полезной нагрузки, в то время как счетчики статистики интерфейса (которые использует collectd) включают кадры Ethernet, а также заголовки IP и TCP и подсчитывают повторно переданные пакеты.