与线程数量有限的同步服务器相比,grpc异步服务器是否具有更好的性能?

时间:2020-05-22 18:38:34

标签: c++ multithreading grpc rpc

我需要实现一个服务器,多个客户端可以同时向其发送请求。处理单个请求的代码可能会在中间阻塞(使线程进入睡眠状态)。

目前,我正在使用C++ GRPC同步服务器。客户端每次发送请求时,都会在服务器端生成一个新线程。这是一个问题,因为服务器可以同时创建太多线程。

我正在考虑两种解决方案来避免该问题:

1)将同步服务器与ResourceQuota配合使用(例如,将最大线程数限制为10)。

2)使用异步服务器。

实施第二个解决方案比实施第一个解决方案困难得多。 第二种解决方案与第一种解决方案相比有什么优势?

  • 单个客户端需要等待时间才能获得对RPC的响应
  • 服务器上使用的资源(内存,线程)。

0 个答案:

没有答案