You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何降低网页请求过程中产生的Connecting(连接)耗时

网站连接耗时优化排查指南

耗时根因排查思路

连接耗时通常由DNS解析、TCP三次握手、TLS握手三个核心阶段组成,117ms的耗时可以先通过命令行工具定位具体占比最高的阶段:
执行curl -w "%{time_namelookup} | %{time_connect} | %{time_appconnect}\n" -o /dev/null -s 你的站点域名,返回的三个数值分别对应:

  • DNS解析完成耗时
  • TCP握手完成耗时(从请求发起到TCP握手结束)
  • TLS握手完成耗时(从请求发起到TLS握手结束)
    你提供的耗时截图未展示各阶段拆分,优先执行上述命令定位问题

可能的原因及对应优化方案

1. DNS层面问题(Godaddy DNS相关)

  • 触发场景:如果自测得到的time_namelookup数值超过50ms,基本可以判定是DNS解析导致的耗时偏高。Godaddy的DNS节点覆盖度远低于头部云厂商DNS服务,若你的用户分布和Godaddy的节点覆盖不匹配,很容易出现解析延迟。
  • 优化方案:
    • 切换到AWS Route53确实能带来明确的优化收益,Route53的全球节点覆盖更广,针对全球用户的场景普遍可以降低20~60ms的DNS解析耗时
    • 前端页面添加DNS预解析配置,在页面head标签中添加<link rel="dns-prefetch" href="//你的站点域名">,降低用户首次访问的解析等待

2. SSL/TLS层面问题

  • 触发场景:如果time_appconnect - time_connect的差值超过40ms,说明TLS握手占了连接耗时的主要部分。常见诱因包括未开启TLS会话复用、使用老旧TLS协议、证书链配置不完整、加密套件优先级不合理。
  • 优化方案(针对Apache服务):
    • 升级到TLS1.3协议,相比TLS1.2减少1次RTT,握手耗时可直接降低30%以上
    • 开启TLS会话复用,在Apache的ssl配置文件中添加如下配置:
      SSLSessionCache shmcb:/var/run/apache2/ssl_scache(512000)
      SSLSessionCacheTimeout 300
      
    • 优化证书链,移除多余的中间证书,减少握手过程中的证书传输体积
    • 优先配置ECDHE类的加密套件,降低握手阶段的算力耗时

3. 网络与Apache配置问题

  • 触发场景:如果time_connect - time_namelookup的差值偏高,说明TCP握手链路耗时过高,常见诱因包括服务器与用户跨运营商/跨地域访问、Apache的keepalive未开启、TCP快速打开未配置。
  • 优化方案:
    • 调整Apache的keepalive配置:
      KeepAlive On
      KeepAliveTimeout 60
      MaxKeepAliveRequests 100
      
      允许同一个TCP连接处理多个请求,避免重复建连开销
    • 开启TCP快速打开:修改内核参数net.ipv4.tcp_fastopen = 3,同时Apache开启对应支持,减少TCP握手的RTT开销
    • 若用户分布跨地域/跨运营商,接入CDN服务将静态资源缓存到边缘节点,直接降低用户到服务端的链路耗时

内容的提问来源于stack exchange,提问作者The Fair Technology

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:48:02