V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qiushui777
V2EX  ›  问与答

如何缩短服务器之间 rpc 通信的时间

  •  
  •   qiushui777 · 2020-12-10 09:04:40 +08:00 · 1803 次点击
    这是一个创建于 1429 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经订购阿里云北美弗吉尼亚州两台服务器,一台服务器上运行一个提供 rpc 服务的节点,另外一台服务器对这个节点发起请求。经过测试,大多数情况下,rpc 请求延时在 0.1 左右,但是少数情况下出现 1s,甚至 5s 的延时。进一步在 rpc 服务器上本地测试,不会出现这种大的延时。所以想请教该如何优化 rpc 请求的时间?

    7 条回复    2020-12-10 10:47:33 +08:00
    caryqy
        1
    caryqy  
       2020-12-10 09:12:19 +08:00
    多种可能吧
    这两台服务器内网通吗,
    rpc 走的是内网还是外网,
    ping 延迟测试没,
    服务器带宽多大 rpc 请求量多大
    whileFalse
        2
    whileFalse  
       2020-12-10 09:15:14 +08:00
    阿里云啊。

    “超卖是云服务商的核心竞争力”这句话听说过没?
    CEBBCAT
        3
    CEBBCAT  
       2020-12-10 09:15:54 +08:00 via Android
    楼上说的有一定道理,要不跑个压测看看能不能找到问题的复现办法?
    CEBBCAT
        4
    CEBBCAT  
       2020-12-10 09:16:19 +08:00 via Android
    @CEBBCAT 我说的是 1 楼
    qiushui777
        5
    qiushui777  
    OP
       2020-12-10 09:54:44 +08:00
    @caryqy @CEBBCAT 感谢大佬回答。试了下,内网可以 ping,但是我没意识到先前用公网 ip 请求的。
    ```
    公网 ping
    64 bytes from 47.253.41.218: icmp_seq=1 ttl=60 time=0.207 ms
    64 bytes from 47.253.41.218: icmp_seq=2 ttl=60 time=0.210 ms
    64 bytes from 47.253.41.218: icmp_seq=3 ttl=60 time=0.225 ms

    内网 ping
    64 bytes from 172.25.66.75: icmp_seq=2 ttl=64 time=0.097 ms
    64 bytes from 172.25.66.75: icmp_seq=3 ttl=64 time=0.098 ms
    64 bytes from 172.25.66.75: icmp_seq=4 ttl=64 time=0.091 ms
    ```
    服务器带宽 5MBPs,请求量不大,大概是 0.5s 一次。而且间歇性的。我再去试试用内网看
    wysnylc
        6
    wysnylc  
       2020-12-10 10:06:45 +08:00
    QUIC 0RTT
    goodryb
        7
    goodryb  
       2020-12-10 10:47:33 +08:00
    看了问题本来是想建议楼主提工单反馈,没想到居然是走公网,

    除了对外服务,应用之间通信肯定是走内容稳定。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2583 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:07 · PVG 23:07 · LAX 07:07 · JFK 10:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.