在客户端 (raspberry pi) 服务器 (http/amqp/mqtt) 之间传输数据测量

Transfer data measurement between client (raspberry pi) server (http/amqp/mqtt)

我想测量使用不同协议在客户端和服务器之间传输消息的带宽:在这两种情况下,例如客户端(raspberry pi) 到服务器和服务器到客户端(raspberry pi)。

假设我是 sending/receiving 从 Ruby 或 Java 程序到 AMQP(RabbitMQ 代理)、Mqtt(Mosquito 代理)或 HTTP 的以下 json 消息服务器(rails 应用程序)。

留言:

{   
"unit1": { "state": [ { "ON": "200", "time": "12212" } ] }
}

如何计算 send/receive 此邮件所需的带宽量(千字节或字节)?如果我使用 Ruby 或 Java REST 程序将此消息发送到 HTTP 服务器,我该如何计算这些所需数据?

Ruby或Java中是否有API从应用层计算,或者在TCP层计算,是否可以使用任何工具计算特定的端口和IP地址?谁能告诉我还有哪些其他方法可以进行此测量?

毫无疑问,有更好的方法,但我使用的一个简单的方法是将请求发送到 nginx 的本地实例(或您喜欢的任何 http 服务器)和然后只需检查 request_body 大小值的日志。

我用 tcpdump 等不同的工具做了一些方法,但我得到了 Wireshark,提供了很多方便的功能,它有漂亮的图形前端,加上一些集成的排序和过滤选项。解决了从客户端向服务器发送个人 JSON 数据的查询,并找到测量个人通信带宽信息的简便方法。