最大 gRPC 连接数基准测试

Arw*_*ett 0 grpc

我想知道有多少客户端可以与在普通机器上运行的 gRPC 服务器建立开放连接。客户端应该连接到服务器并打开一个流。

因此,我正在寻找关于 gRPC 服务器可以处理多少 gRPC 流的基准。

小智 5

据我所知,目前没有这样的基准;但是,我将尝试回答我认为是您的问题。

就 gRPC 连接的数量而言,典型的 gRPC 服务器将受到这些连接占用的内存量的限制。根据我们过去收集的数据,一个通道将在服务器端占用大约 40 KB 的内存。因此,考虑到您的服务器可用的内存量,您可以估计您的服务器将接受的最大 gRPC 连接数。

如果您想动态控制使用多少内存(以及接受多少连接),gRPC 有一个 ResourceQuota 对象,您可以对其进行配置 [1]。如果接受连接会使服务器超过资源配额,则您的服务器将拒绝连接。这为 OOM 提供了更好的替代方案。

[1] https://grpc.github.io/grpc/cpp/classgrpc__impl_1_1_resource_quota.html