用Wireshark抓包分析超过70秒的请求

超过70秒的请求是通过分析IIS日志发现的:

10.159.63.104是SLB的内网IP。

通过Wireshark抓包分析请求是9:22:21收到的(tcp.stream eq 23080):

09:22:21.299838000    10.159.63.104    10.161.241.208    HTTP    291    GET /eastsea/p/3764040.html HTTP/1.0 

这个请求响应内容的长度是:Content-Length 1154110(1.1MB)

云服务器(ECS)在收到请求后,发了一个ACK包:

09:22:21.354730000    10.161.241.208    10.159.63.104    TCP    66    http > 60895 [ACK] Seq=1 Ack=226 Win=66560 Len=0 TSval=16270579 TSecr=1049527471

接下来就是一堆的TCP segment of a reassembled PDU:

10.161.241.208    10.159.63.104    TCP    1514    [TCP segment of a reassembled PDU]

中间会出现一些错误:

1. TCP Dup ACK

10.159.63.104    10.161.241.208    TCP    78    [TCP Dup ACK 619713#1] 60895 > http [ACK] Seq=226 Ack=57921 Win=61440 Len=0 TSval=1049527542 TSecr=16270581 SLE=63713 SRE=75297

2. TCP Out-Of-Order

10.161.241.208    10.159.63.104    TCP    1514    [TCP Out-Of-Order] [TCP segment of a reassembled PDU]

3. TCP Fast Retransmission

10.161.241.208    10.159.63.104    TCP    1514    [TCP Fast Retransmission] [TCP segment of a reassembled PDU]

另外,中间也出现了大量的TCP Window Update:

10.159.63.104    10.161.241.208    TCP    66    [TCP Window Update] 60895 > http [ACK] Seq=226 Ack=175209 Win=16384 Len=0 TSval=1049528183 TSecr=16270632

最后在9:23:32才完成了响应内容的发送:

09:23:32.865387000    10.161.241.208    10.159.63.104    HTTP    486    HTTP/1.1 200 OK  (text/html)

Wireshark中记录的中整个发送耗时:

Time since request: 71.565549000 seconds
posted @   博客园团队  阅读(5278)  评论(8编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· autohue.js:让你的图片和背景融为一体,绝了!
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
点击右上角即可分享
微信分享提示