【发布时间】:2019-07-30 10:45:53
【问题描述】:
我想知道有多少客户端可以打开连接 到在普通机器上运行的 gRPC 服务器。 客户端应该连接到服务器并打开一个流。
因此,我正在寻找有关多少 gRPC 流的基准 gRPC 服务器可以处理。
【问题讨论】:
标签: grpc
我想知道有多少客户端可以打开连接 到在普通机器上运行的 gRPC 服务器。 客户端应该连接到服务器并打开一个流。
因此,我正在寻找有关多少 gRPC 流的基准 gRPC 服务器可以处理。
【问题讨论】:
标签: grpc
据我所知,目前没有这样的基准;但是,我将尝试回答我认为是您的问题。
就 gRPC 连接数而言,您的典型 gRPC 服务器将受到这些连接占用的内存量的限制。根据我们过去收集的数据,一个通道将在服务器端占用大约 40 KB 的内存。因此,考虑到您的服务器可用的内存量,您可以估计您的服务器将接受的最大 gRPC 连接数。
如果您想动态控制使用多少内存(以及因此接受多少连接),gRPC 有一个您可以配置的 ResourceQuota 对象 [1]。如果接受连接会使服务器超出资源配额,则您的服务器将拒绝连接。这为 OOM'ing 提供了更好的替代方案。
[1]https://grpc.github.io/grpc/cpp/classgrpc__impl_1_1_resource_quota.html
【讨论】: