介绍
HTTP的问题可能是由于慢速服务器或客户端,TCP性能问题,本文讨论上述问题以及其他可能因素。
更多信息
诊断过程:
浏览网页性能变差的原因有很多,需要逐步分析。步骤如下:
- 首先,不仅要确认网络负载状况,还要注意通信链路上的出错率,以及导致性能变差的最明显的表现;
- 诊断TCP问题,检查以下细节:
- 在Expert info窗口,确保没有太多重传以及重复ACK(百分之0.5至0.8尚可忍受)。
- 确保HTTP连接上没有reset,可能由于防火墙或站点限制引发。
- 确保没有以下DNS问题:
- 慢速响应时间
- 域名未找到
如果以上均不适用,就需要对HTTP深入研究。
注意:将网络和IT环境看作一个整体。对于慢速网络浏览应用,TCP问题亦不能分离于HTTP,DNS问题。可能是由于慢速HTTP服务器,因服务器的慢速响应而产生了TCP重传。或者,由于DNS慢速服务器,打开网页可能需要好几秒钟。一步步定位问题就好了。
当你第一次打开一个网页,可能需要几秒钟。在这种情况下,应当查看以下情况:
- 检查线路是否过载
- 检查线路延时(通过ping工具)
- 查看错误代码,通常能看到浏览器报错原因,但并不总是能看到。
- 配置过滤器http.response >= 400并查看有多少错误。以下章节,你会看到需要注意的示例。
Informational codes:

Success codes:

Redirect codes:

Client errors:


以下示例是一个简单的客户端报错。按照以下步骤进行操作:
- 右键有报错的报文。
- 选择Follow TCP stream,会看到以下窗口:

3. 显示以下内容:
- 客户端尝试浏览URI/poker-client/broadcast.htm(如截屏中1和3所示)
- URI通过http://www.888poker.com/poker-client/promotions.htm转发(截屏中2所示)
- 状态码为404 Not Found(如截屏中4所示)
Client errors:

服务器不可用(错误代码503)可能有多种原因。以下示例是一个小办公室碰到的问题:员工能够访问Facebook,但当他们点击站点上的链接,则显示页面被拦截。以下截屏中,可看出页面被防火墙拦截:

工作原理:
标准的HTTP浏览模式如下:
- TCP打开连接(三路握手信号)
- HTTP发送GET命令
- 数据下载到浏览器
在一个网页打开多个连接的情况下(大多数网页都是如此)。每个连接需要一个DNS 查询,响应,TCP SYN-SYN/ACK-ACK,以及HTTP GET。之后数据才会出现在显示屏上。
当你在packet detail面板没有看到显示内容时,右键报文并选择Follow TCP stream,会看到连接的细节数据。另一个广泛应用的工具是Fiddler,Fiddler是HTTP故障排查的免费工具。
发表回复