Мне интересно, как наилучшим образом измерить пропускную способность сети во время выполнения.Я пишу клиент / серверное приложение (оба в Java).Сервер регулярно отправляет сообщения (сжатых данных мультимедиа) через сокет клиенту.Я хотел бы настроить уровень сжатия, используемый сервером, чтобы он соответствовал качеству сети.
Поэтому я хотел бы измерить время, которое требуется большой порции данных (скажем, 500 КБ), чтобы полностью добраться до клиента, включая все задержки.между.Такие инструменты, как Iperf, похоже, не подходят, потому что они проводят измерения, создавая собственный трафик.
Лучшая идея, которую я могу придумать: как-то определить разницу в тактах клиента и сервера, включаясервер отправляет временную метку с каждым сообщением, а затем отправляет клиенту отчет на сервер о разнице между этой временной меткой и временем, когда клиент получил сообщение.Затем сервер может определить, сколько времени понадобилось сообщению, чтобы добраться до клиента.
Есть ли более простой способ сделать это?Есть ли библиотеки для этого?