讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么查看具体的网络连接建立耗时数据

雨杰大大_7261

雨杰大大_7261

发布时间:2026-08-01 07:16:00

|

555人浏览过

|

来源于php中文网

原创

TCP三次握手耗时需通过tcpdump/Wireshark抓包计算SYN→SYN-ACK→ACK时间差;ss -i查看内核RTT估算值判断网络质量;strace跟踪connect()获取总建连耗时;应用层埋点最精准,可区分建连、TLS、服务端处理各阶段延迟。

linux怎么查看具体的网络连接建立耗时数据

tcpdump + Wireshark 分析三次握手耗时

Linux 本身不直接暴露每个连接的建立耗时(比如 SYN → SYN-ACK → ACK 各阶段时间戳),但可以通过抓包还原完整 TCP 握手过程,再手动或脚本计算时延。核心思路是捕获 SYN、SYN-ACK、ACK 三个包的时间戳,差值即为各阶段耗时。

实操建议:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 用 tcpdump -i any -w handshake.pcap 'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0 and port 80' 抓指定端口(如 80/443)的握手包,-i any 确保不漏容器或虚拟网卡流量
  • 抓完后用 Wireshark 打开,过滤 tcp.flags.syn == 1 || tcp.flags.ack == 1 and tcp.len == 0,定位三次握手三行;右键「Protocol Preferences → TCP → Calculate conversation timestamps」开启相对时间计算
  • 注意:若服务端在 NAT 或负载均衡后(如 Nginx、AWS ALB),你抓到的 SYN-ACK 可能来自中间设备而非真实后端,此时耗时反映的是链路+代理延迟,不是应用层真实建连时间

ss -i 显示重传与 RTT 估算值

ss -i 能读取内核为每个 socket 维护的 RTT(往返时间)估算值,虽非单次建连耗时,但对判断网络质量、是否因丢包导致握手慢很实用。

实操建议:

  • 执行 ss -tien state established '( dport = :443 )' | head -5,查看 ESTABLISHED 连接的 rtt: 字段(单位微秒),例如 rtt:124000/12000 表示当前 RTT 估算是 124ms,RTTVAR 是 12ms
  • 该值由内核基于实际 ACK 延迟动态更新,若 rtt 持续 > 300ms 或 retrans 列非 0,大概率存在链路丢包或中间设备限速
  • 注意:ss -i 不显示握手阶段的初始 RTT,它只在连接建立后、有数据交互才开始收敛;新建连接刚完成握手时,这个值可能还是初始默认值(如 300ms)

strace 跟踪 connect() 系统调用耗时

如果目标是测量应用进程调用 connect() 到返回成功的总耗时(含 DNS、路由、握手全部环节),strace 是最贴近用户视角的方式。

实操建议:

  • 运行 strace -T -e trace=connect,sendto,recvfrom curl -s http://example.com > /dev/null 2>&1,重点关注 connect(…) 行末尾的 —— 这就是本次系统调用阻塞时间,即建连总耗时
  • 若返回 -1 EINPROGRESS(非阻塞 socket),说明连接未立即完成,需配合 poll() 或 select() 等待,此时应跟踪后续 getsockopt(SO_ERROR) 是否成功来确认最终建连结果
  • 注意:DNS 解析耗时会包含在 connect() 内(若未预解析),若想排除 DNS 干扰,先用 getent hosts example.com 获取 IP,再用 curl --resolve example.com:80:x.x.x.x 强制跳过解析

应用层埋点比系统工具更准

所有系统级手段都有盲区:tcpdump 依赖抓包位置,ss 无单次粒度,strace 有性能开销且无法覆盖 setsockopt 参数影响(如 TCP_FASTOPEN)。真正要定位“为什么某个 HTTP 请求首字节慢”,必须在应用代码里打点。

实操建议:

  • Go 用 net.Dialer.Deadline + time.Now() 包裹 DialContext;Python 用 socket.create_connection(..., timeout=5) 配合 time.perf_counter()
  • 关键点:记录从调用开始、到 connect() 返回成功、再到收到第一个响应字节的三个时间戳,才能区分是建连慢、TLS 握手慢,还是服务端处理慢
  • 容易被忽略的是:某些语言 runtime(如 Node.js 的 net.connect)内部做了连接池复用,你看到的“建连耗时”可能是复用空闲连接,实际没走 TCP 握手 —— 此时必须结合 ss -i 或抓包验证 socket 是否真为新创建

热门AI工具

更多
讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3870

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3333

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2473

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

5970

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5602

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3293

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2805

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3019

2023.07.25

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn