首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gRPC cpp同步与异步服务器性能

gRPC cpp同步与异步服务器性能
EN

Stack Overflow用户
提问于 2021-10-07 16:39:49
回答 1查看 595关注 0票数 0

我理解同步和异步服务器之间的区别,但是我想知道如果有这2种情况,哪一种会是更高性能的异步或同步?

  1. 同步:写调用将被阻塞,直到消息准备好从内部完成队列发送到线路上。异步:写调用立即返回,我们需要等待完成队列。在同步服务器中,如果我们添加队列(基本上是为evry、写调用和其他线程填充的队列),并执行stream.write,那么性能将是相同的吗?

  1. Sync: gRPC内部创建线程池,线程数等于CPU的数量,异步:线程正在实现。因此,如果对每个客户端创建单独的线程和完成队列,同步和异步的性能是否相同?
EN

回答 1

Stack Overflow用户

发布于 2021-10-13 17:46:36

理论上很难比较性能。经验法则是,如果您的选择是让gRPC以其设计处理的方式在内部处理并发调用,与使用同步API管理gRPC调用并发,gRPC内部可能会比您自己管理更好的性能调优。这个建议可能会有例外,取决于许多变量.例如,如果服务器正在做一些非常快速和廉价的事情,并且消息很小,则同步API可能很好。

最后,基准是你的朋友。

gRPC性能建议:https://grpc.io/docs/guides/performance/#c

官方的gRPC基准(正在开发中):https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5180705743044608。这些基准下的测试在您的设计选择中可能是信息丰富的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69484849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档