首页 > 其他分享 >性能最佳实践

性能最佳实践

时间:2022-09-29 20:33:38浏览次数:37  
标签:gRPC 性能 实践 最佳 RPC 客户端 连接 通道


一个包含一般和特定语言的最佳实践的用户指南,以提高性能。

一般做法

  • 尽可能地重复使用存根和通道。
  • 使用keepalive pings来保持HTTP/2连接在非活动期的活力,以允许初始RPC快速进行而没有延迟(即C++通道arg GRPC_ARG_KEEPALIVE_TIME_MS)。
  • 在处理从客户端到服务器、服务器到客户端或两个方向的长期逻辑数据流时,使用流RPC。流可以避免连续的RPC启动,这包括在客户端的连接负载平衡,在传输层启动新的HTTP/2请求,以及在服务器端调用用户定义的方法处理。
  • 然而,流一旦启动就不能进行负载平衡,而且很难对流的故障进行调试。它们也可能在小范围内提高性能,但由于负载平衡和复杂性,会降低可扩展性,所以只有当它们为应用逻辑提供实质性的性能或简单性的好处时,才应该使用。使用流来优化应用程序,而不是gRPC。

题外话:这并不适用于Python(详见Python部分)。

(专题)每个gRPC通道使用0个或更多的HTTP/2连接,每个连接通常对并发的流的数量有限制。当连接上的活动RPC数量达到这个限制时,额外的RPC会在客户端排队,必须等待活动RPC完成后才能发送。具有高负载或长期流式RPC的应用程序可能会因为这种排队而出现性能问题。有两种可能的解决方案。

  1. 为应用程序中每个高负载的区域创建一个单独的通道。
  2. 使用一个gRPC通道池将RPC分布在多个连接上(通道必须有不同的通道参数以防止重复使用,所以定义一个特定用途的通道参数,如通道号)。

题外话:gRPC团队已经计划添加一个功能来解决这些性能问题(更多信息见grpc/grpc#21386),所以任何涉及到创建多个通道的解决方案都是临时的解决方法,最终应该不需要。

使用www.DeepL.com/Translator翻译(免费版)

标签:gRPC,性能,实践,最佳,RPC,客户端,连接,通道
From: https://www.cnblogs.com/ben-zhou/p/16742976.html

相关文章

  • 【Vue项目实践】套用github 上的项目(vue3 + Element Plus)运行 可编辑表格
    在Vue3+ElementPlus中生成动态表格gitclonehttps://github.com/kalacloudCode/how-to-build-dynamic-table-in-vue-element-plus.git参考博客:vue3+ElementPlus......
  • 【Vue项目实践】(vue3 + Element Plus)excel 导出
    安装依赖yarnadd--savexlsxfile-saver1、添加导出按钮以及点击事件<el-buttontype="primary"round@click="exportClick">导出表格</el-button>2、在table表格中添加......
  • 实验2:Open vSwitch虚拟交换机实践
    a)/home/用户名/学号/lab2/目录下执行ovs-vsctlshow命令、以及p0和p1连通性测试的执行结果截图;b)/home/用户名/学号/lab2/目录下开启MininetCLI并执行pingall命令的......
  • 实验2:Open vSwitch虚拟交换机实践
    一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代码运行OVS命令,控制网络拓扑中的O......
  • 龙湖千丁基于 ACK@Edge 的云原生智慧停车系统架构实践
    简介: 结合龙湖千丁自研的新版停车云系统以及ACK@Edge提供的标准Kubernetes服务以及云边一体化协同解决方案,整体来着,边缘部署时间成本由1天缩短到3小时,将之前的手......
  • UGeek大咖说 | 顺丰科技:全链路压测中的可观测性实践
    导语UGeek大咖说是优维科技为技术爱好者研讨云原生技术演进趋势而创办的系列活动,邀请一线互联网大厂的核心骨干主讲,分享原厂实践。本年度主题为可观测,我们希望通过一场场有......
  • Vue 超长列表渲染性能优化
    参考:https://juejin.cn/post/6979865534166728711#heading-3组件懒加载参考:https://github.com/xunleif2e/vue-lazy-component......
  • 夯实基础之tcp优化传输数据性能
    tcp传输数据性能提升在前面介绍的是三次握手和四次挥手的优化策略,接下来主要介绍的是TCP传输数据时的优化策略。TCP连接是由内核维护的,内核会为每个连接建立内存缓......
  • 实验2:Open vSwitch虚拟交换机实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通过Mininet的Python代码......
  • Windows下文件搜索最佳神器
    你是不是有时候想找一个文件,但只记得文件名的几个字,然后在某个磁盘或目录下漫无目的的搜索,等了十几分钟也没找到你需要的文件?那你应该试试Everything了,一个Windows平台真正......