gpt4 book ai didi

performance - 将网络延迟从 500 毫秒减少到 60-100 毫秒的策略

转载 作者:行者123 更新时间:2023-12-03 16:55:11 25 4
gpt4 key购买 nike

我正在构建一个自动完成功能并实现了 的数量客户端和服务器之间的时间太长 (450-700ms范围内)

autocomplete response time

我的第一站是检查这是否是服务器延迟的结果。

enter image description here

但正如你所看到的 Nginx logs are almost always 0.001 milliseconds (请求时间是最后一列)。这几乎不是令人担忧的原因。

所以很明显我是在服务器和客户端之间浪费时间 .我的基准是 Google Instant's response times .这几乎通常在 30-40 毫秒的范围内。 幅度更低 .

enter image description here

虽然很容易说谷歌拥有以这种速度交付的大量基础设施能力,但我想插入自己了解对于不是那个水平的人来说这是否可行。如果不是 60 毫秒,我想减少 100-150 毫秒。

以下是我设法学习的一些策略。

  • Enable httpd slowstart and initcwnd
  • 如果您在 https
  • 上,请确保 SPDY
  • 确保结果是 http 压缩的

  • 我还可以在这里做什么 ?

    例如
  • 有持久连接有帮助吗?
  • 我应该大幅减少响应大小吗?

  • 编辑:
    这是 ping 和 traceroute 编号。该站点通过来自弗里蒙特 Linode 机器的 cloudflare 提供服务。
        mymachine-Mac:c name$ ping site.com
    PING site.com (160.158.244.92): 56 data bytes
    64 bytes from 160.158.244.92: icmp_seq=0 ttl=58 time=95.557 ms
    64 bytes from 160.158.244.92: icmp_seq=1 ttl=58 time=103.569 ms
    64 bytes from 160.158.244.92: icmp_seq=2 ttl=58 time=95.679 ms
    ^C
    --- site.com ping statistics ---
    3 packets transmitted, 3 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 95.557/98.268/103.569/3.748 ms
    mymachine-Mac:c name$ traceroute site.com
    traceroute: Warning: site.com has multiple addresses; using 160.158.244.92
    traceroute to site.com (160.158.244.92), 64 hops max, 52 byte packets
    1 192.168.1.1 (192.168.1.1) 2.393 ms 1.159 ms 1.042 ms
    2 172.16.70.1 (172.16.70.1) 22.796 ms 64.531 ms 26.093 ms
    3 abts-kk-static-ilp-241.11.181.122.airtel.in (122.181.11.241) 28.483 ms 21.450 ms 25.255 ms
    4 aes-static-005.99.22.125.airtel.in (125.22.99.5) 30.558 ms 30.448 ms 40.344 ms
    5 182.79.245.62 (182.79.245.62) 75.568 ms 101.446 ms 68.659 ms
    6 13335.sgw.equinix.com (202.79.197.132) 84.201 ms 65.092 ms 56.111 ms
    7 160.158.244.92 (160.158.244.92) 66.352 ms 69.912 ms 81.458 ms
    mymachine-Mac:c name$ site.com (160.158.244.92): 56 data bytes

    最佳答案

    我很可能是错的,但就我个人而言,我闻到了老鼠的气味。您的时间不符合您的设置;我相信您的请求应该运行得更快。

    如果可能,请使用 curl 生成一个简短的查询并用 tcpdump 拦截它在客户端和服务器上。

    这可能是主机上的带宽/并发问题。查看其诊断面板,或尝试估算流量。

    您可以尝试将响应查询保存到静态文件中,然后请求该文件(注意不要触发本地浏览器缓存...),以查看问题是否出在处理数据(服务器端或客户端) )。

    这种缓慢会影响每个请求,还是只影响自动完成的请求?如果是后者,无论 nginx 怎么说,在恢复或格式化输出的自动完成数据方面可能会有些低效/延迟。

    此外,您可以尝试完全绕过 nginx 提供静态响应,以防这是 ​​nginx 的问题(就此而言:您是否检查过 nginx 的错误日志?)。

    关于performance - 将网络延迟从 500 毫秒减少到 60-100 毫秒的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973489/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com