Я хочу измерить пропускную способность для передачи сообщений между клиентом и сервером с использованием разных протоколов: в обоих случаях, например, клиент (малина pi) для сервера и сервера для клиента (малина pi).
Скажем, я отправляю/получаю следующее сообщение json от Ruby или Java-программы либо AMQP (RabbitMQ broker), либо Mqtt (Moskito broker), либо HTTP-сервер (приложение rails).
Сообщение:
{
"unit1": { "state": [ { "ON": "200", "time": "12212" } ] }
}
Как я могу рассчитать требуемую пропускную способность (килобайты или байты) для отправки/получения этого сообщения? Событие, если я использую Ruby или Java REST-программу для отправки этого сообщения на HTTP-сервер, как я могу вычислить эти требуемые данные?
Есть ли какой-либо API в Ruby или Java для вычисления с уровня приложения или на уровне TCP, могу ли я использовать любые инструменты для вычисления определенного порта и IP-адреса? Может ли кто-нибудь сказать мне, какие еще существуют подходы к этому измерению?
Я сделал некоторый подход с помощью различных инструментов, таких как tcpdump, но я получил Wireshark, предоставил множество удобных функций и имел приятный графический интерфейс, а также некоторые интегрированные параметры сортировки и фильтрации. Этот запрос отправил отдельные данные JSON от клиента к серверу и нашел простой способ измерения информации о пропускной способности для индивидуальной связи.
Без сомнения, есть лучшие способы, но простой, который я использовал, - это отправить запрос локальному экземпляру nginx (или любому другому http-серверу, который вы предпочитаете), а затем просто проверить журналы для значения размера request_body.