Наименьший размер сообщения в gRPC - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно выяснить, каков средний размер запроса в gRPC, когда я отправляю строку на сервер и получаю строку с сервера?

Я где-то читал, это должно быть около 20 байт, но в приложении Network Monitor я вижу, что запрос превышает 500 байт. Так это наименьший возможный размер сообщения gRPC или что?

1 Ответ

1 голос
/ 11 мая 2019

Для одного rpc gRPC необходимо сделать несколько вещей:

  1. Установить HTTP / 2
  2. (Необязательно) Установить TLS
  3. Заголовки Exchange для RPC (размер зависит от схемы)
  4. Обмен фактическими сообщениями RPC (размер зависит от схемы)
  5. Закрыть соединение

gRPC предназначен для множества RPC на одном соединении , поэтому наименьшее возможное сообщение rpc - это байты, используемые для 4.

[Изменить]

Я проверил, и минимальный обмен данными для rpc превышает 500 байтов , в терминах необработанных IP-пакетов.

Я использовал gRPC helloworld.proto, изменил для отправки int32.

Проверка пакетов в Wireshark показала следующие итоговые IP-пакеты:

  • 1286 байт для установления соединения, обмена заголовками и выполнения первых rpc
  • 564 байта для каждого последующего rpc
  • 176 байт для клиента Shutdown

Из этих 546 «минимальных» байтов:

  • 67% - это издержки TCP / IP (подтверждения, заголовки пакетов)
  • 10% были «трейлерными» данными, отправленными после rpc
...