gRPC中消息的最小大小

时间:2019-05-10 19:14:22

标签: protocol-buffers grpc

当我向服务器发送字符串并从服务器接收字符串时,我需要找出gRPC中请求的平均大小是多少?

我在某个地方读到它应该在20字节左右,但是我在网络监视器应用程序中看到的是请求超过500字节。那么它是gRPC消息大小的最小可能大小还是什么?

1 个答案:

答案 0 :(得分:1)

对于单个rpc,gRPC需要做一些事情:

  1. 建立HTTP / 2
  2. (可选)建立TLS
  3. RPC的交换头(大小取决于架构)
  4. 交换实际的RPC消息(大小取决于架构)
  5. 关闭连接

gRPC应该用于单个连接上的许多RPC ,因此,最小的rpc消息实际上就是用于4的字节。

[编辑]

我检查了一下,rpc 交换的最小数据超过了500字节(按原始IP数据包而言)。

我使用了gRPC helloworld.proto,将其更改为发送int32

在Wireshark中检查数据包显示以下IP数据包总数:

  • 1286字节来建立连接,交换标题并执行第一个rpc
  • 每个后续rpc
  • 564字节
  • 客户端Shutdown
  • 176个字节

在这546个“最小”字节中:

  • TCP / IP开销(确认,数据包头)占67%
  • 10%是在rpc之后发送的“预告片”数据