Я работаю над исследовательским проектом, связанным с IoT, с несколькими устройствами. Однако мой партнер по проекту, ответственный за инфраструктуру, ограничил трафик для каждого устройства до 500 МБ в месяц.
Чтобы уложиться в это ограничение, я попытался оценить размеры запроса и ответа с помощью очень простых вычислений. Некоторые оценки накладных расходов можно найти в этом ответе на Stackoverflow. Перед любыми оценками накладных расходов ответ гласит:
Вы ничего не знаете об уровнях ниже HTTP. Вы даже не можете предположить, что HTTP-запрос будет доставлен по TCP / IP. Даже если это так, вы ничего не знаете о накладных расходах, добавляемых сетевым уровнем. Или какова будет надежность маршрута и какие накладные расходы возникнут из-за отброшенных / повторно отправленных пакетов.
Чтобы получить некоторые надежные цифры, я подумал о том, чтобы провести некоторые измерения в настройке разработки, поскольку я работаю и на удаленном устройстве, и на сервере.
Есть ли какие-либо способы измерить размер полного ответа и запроса, включая полезную нагрузку и любые издержки протокола? Как определить полную пропускную способность сетевой инфраструктуры?
Для Linux и других ОС (например, UNIX) вы можете использовать iftop утилита. Например: Мониторинг веб-интерфейса моего маршрутизатора: sudo iftop -f 'port 80 and host 172.19.76.1' -iwlan0
-f
- фильтр: port 80
- контролировать порт 80 целевого хоста and host 172.19.76.1
- имя хоста или адрес целевого хоста.-iwlan0
- [i] интерфейс wlan0