ss 命令无法直接测量 HTTPS 握手延时,但可通过分析 SYN_RECV/ESTAB 连接状态、rtt/retrans/q 等内核指标间接识别 TLS 握手瓶颈,是定位建连问题的轻量高效初筛工具。

ss 命令本身不能直接测量 HTTPS 握手延时(即 TLS handshake time),它不解析应用层协议,也不记录时间戳。但它能高效获取 TCP 连接的底层状态和关键指标,结合 tcp_diag 提供的内核级统计字段,可间接反映握手阶段的异常堆积或延迟倾向——这是定位 HTTPS 建连瓶颈的重要突破口。
识别握手未完成连接的堆积情况
TLS 握手发生在 TCP 连接建立之后、HTTP 请求发送之前。若大量连接卡在 SYN_RECV 或 ESTAB 但长期无数据收发,往往意味着握手受阻(如客户端弱网、中间设备干扰、Nginx ssl_handshake_timeout 过短)。用以下命令快速筛查:
-
查看待完成握手的连接(SYN_RECV):
sudo ss -tn state syn-recv '( dport = :443 )' | wc -l
持续 > 50 表示可能存在 SYN Flood 或防火墙拦截; -
查看已建立但无读写活动的 HTTPS 连接(疑似握手挂起):
sudo ss -tni state established '( dport = :443 )' | awk '$1~/rtt/{print $1,$2,$3}' | head -10
重点关注rtt(往返时延)、retrans(重传次数)、q(接收队列长度);若 rtt > 300ms 且 retrans > 0,说明链路不稳定或客户端响应慢; -
对比 HTTP/HTTPS 的 ESTAB 连接数差异:
sudo ss -tn state established 'dport = :80' | wc -l与sudo ss -tn state established 'dport = :443' | wc -l
若 HTTPS 远高于 HTTP(尤其在低流量时段),提示 TLS 层存在握手中断或客户端未完成协商。
关联 Nginx 配置验证握手超时影响
ssl_handshake_timeout 设置过短(如 ≤2 秒)会导致合法弱网用户频繁断连,表现为“连接建立后立即关闭”,此时 ss 中会观察到大量 ESTAB → FIN_WAIT1 或 TIME_WAIT 短生命周期连接。验证方法:
- 检查当前配置:
nginx -T 2>/dev/null | grep ssl_handshake_timeout; - 比对日志中的失败模式:
grep "400.*handshake" /var/log/nginx/error.log | tail -20; - 在压测中运行:
sudo ss -tn state established 'dport = :443' | wc -l并同步观察 Nginx stub_status 的 Active connections —— 若 ss 统计值显著高于 stub_status,说明连接被 accept 但未进入 Nginx 请求处理流程,极可能卡在 TLS 握手阶段。
辅助判断:从连接分布反推客户端网络质量
真实用户地域、设备、运营商不同,TLS 握手耗时差异明显。通过分析源 IP 分布,可发现区域性握手延迟问题:
- 提取最近活跃的 HTTPS 源 IP 及其连接时长估算(基于 ss -i 输出):
sudo ss -tni state established 'dport = :443' | awk '$1~/rtt/{ip=$5; sub(/:[0-9]+$/,"",ip); print ip, $2}' | sort | uniq -c | sort -nr | head -10 - 若某几个 IP 出现高频高 rtt(如 >500ms)且伴随重传,建议在该出口网络做
openssl s_client -connect example.com:443 -servername example.com -debug实测握手过程; - 配合 Nginx access_log 中的
$request_time和$upstream_header_time字段交叉分析:若 request_time 很大但 upstream_header_time 为 “-”,说明请求甚至没发到 upstream,问题大概率出在 TLS 或 Nginx 读取阶段。
真正细粒度的握手延时(毫秒级)需依赖 OpenSSL 日志、eBPF 工具(如 bpftrace + ssl_trace)或 APIMetrics 类服务端探针。ss 是第一道轻量筛子——快、准、贴近内核,适合日常巡检与故障初判。



















