当前位置: 首页 > 知识库问答 >
问题:

grpc呼叫时间减少开销

微生城
2023-03-14

我在java应用程序中使用gRPC(非阻塞存根),两个函数调用之间的响应时间约为5-8ms。我想减少它。你有什么建议?有可能吗?

共有1个答案

凌声
2023-03-14

gRPC Java开销通常以µs(亚毫秒)为单位。如果您看到的是毫秒级的延迟,那么一般预期的原因是:

>

网络延迟为毫秒。从一台主机到另一台主机运行ping,以获得通信性能的下限。(如果您对此感兴趣,netperf tcp_rr是更好的选择。)

基准测试没有预热JVM。随着类加载的进行,第一个RPC将非常非常慢。在此之后,JVM将在JIT开始编译代码之前使用解释模式一段时间。然后,JIT将逐步优化代码。因此,确保持续进行30秒的RPC热身。

Channels没有被重用。DNS查找、创建网络连接和执行TLS握手会增加延迟。但是,如果您将Channel与多个RPC重用,那么以后的RPC将不需要支付这些延迟成本。

 类似资料:
  • 我运行jmeter脚本将近一周,今天观察到一件有趣的事情。以下是场景: 概述:我正在逐渐增加应用程序的负载。在上一次测试中,我给应用程序加载了100个用户,今天我将加载增加到150个用户。 150名用户测试结果: > 与上次测试相比,请求的响应时间减少了。(这是个好兆头) 吞吐量急剧下降到上一次测试的一半,负载更少。 我的问题是: > 当我的许多请求失败时,我得到了好的响应时间吗? 注:直到100

  • 我正试图减少gwt项目的编译时间,使用maven概要文件来设置是需要所有排列还是只需要其中的一部分。 我按照教程在这里:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/ 但是,它没有说明如何创建这两个模块(生产和开发)。这些都是应用程序。gwt。xml文件,如果是,

  • 是否有一种方法可以获得从来电连接到运营商到使用Twilio应答之间的时间? null 有办法得到#5和#9之间的时间增量吗?

  • 我在调用我的onLeScan时遇到问题。我在开始扫描中放置了一个标签,每次都会被调用。出于某种原因,我的onLeScan永远不会被调用。有人看到我所做的有问题吗?onLeScan应该在开始扫描后立即调用,对吗? 编辑更改了我的onLeScan函数。仍然不起作用,但我认为我正在走向正确的道路。DeviceBeacon是一个只包含方法的类:getName()、getSignal()和getAddres

  • 1、接口声明 如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。 第一步:获取第三方用户接口调用唯一凭证 请联系您的售后经理,获取您企业的如下信息: 1、companyid(企业id) 2、appid(第三方用户接口调用唯一凭证id) 3、app_key(第三方用户