为什么有些网页打开特别慢(电脑网页打开很慢怎么回事啊)

解决“通”或“不通”这类功能性问题,其实很好解决。解决网页打开“很慢”、“慢”、“正常”、“快”之类的性能问题,有时并不那么容易。

通过题主的描述可以获得以下事实:

  • 网络的连通性没有问题,否则也无法Ping通服务器
  • 域名解析也没有问题,否则也无法访问网页
  • 服务器应该工作正常,否则也无法访问
  • 网络是畅通的,否则Ping的延迟不可能正常

既然网络看起来是好的,为何访问网页慢呢?

根据多年的从业经验,我的推测是:

MTU问题

局域网出口网关,可能由于PPPoE拨号,在正常的用户IP报文头前又增添了8个字节的PPPoE头,使得用户1500字节的IP报文,变成了1508字节。

由于出口网关WAN接口的MTU = 1500。很显然1508字节的IP报文 > WAN接口的MTU,网关需要将1508字节的IP报文,分成2片,每片都要小于等于1500字节,才能通行。

分片(Fragment)会消耗网关的硬件资源、软件资源,如果网关是使用纯软件来进行分片,那效率是非常低下的,会造成延迟的增大。

当分片到达服务器时,服务器要组织硬件、软件来将分片进行重组(Reassemble),重组成最原始的1500字节(此时PPPoE头已经不存在了),这在一定程度上增加了处理延迟。

如果服务器没有采用网卡硬件加速重组,而是由TCP/IP协议栈(纯软件)进行重组,又是一个令人难以忍受的漫长。

还没有完,等服务器返程的IP报文(1500字节),到达局域网所在的接入网络时,又需要增添8字节的PPPoE头,IP报文又一次膨胀为1508字节,同样需要分片,这又一次增加了处理延迟。

当分片到达题主的主机时,同样需要进行重组,这又一次增加了处理延迟。

一来一回共增加了四次处理延迟,访问网页自然会慢。

还没有完,还没有考虑到有丢包的情况发生。如果2个分片有1个分片传输过程中丢了,源主机需要重传整个IP报文,而重传的IP报文一样需要分片。在这种情况下,不但有TCP 超时重传的延迟,还有分片的延迟。

这无疑是雪上加霜,让本来很糟的情况,变得更加糟糕。

这还没有完,分片到达服务器/主机时,由于其孪生兄弟还没有到达,需要暂时呆在缓存里等待孪生兄弟的到来,才能重组,对吗?

在网络丢包严重时,孪生兄弟可能永远都无法到达(丢了),呆在缓冲区的分片需要等待一段时间才能删除。要命了,会有茫茫多的分片不断到达缓冲区,并快速占满缓存空间。

有读者会问,为什么它们赖着不走啊?

因为孪生兄弟(分片)还没有到达!

再有分片到达时,没有缓存可以用了,怎么办? 丢!

TCP如何修复这些丢包?

超时重传!

超时重传又增加了延迟!

说了那么多,其实就是一个意思,一旦分片了,就做好网络变慢的思想准备!

上文的观点,不是凭空的推测,而是多年实验室实验研究的结论。

如何证明是MTU造成的问题?

只要把主机的MTU从标准的1500修改成1492或更小,然后再次访问网页,和其它主机对比一下便知。

如何系统性地解决这个问题?

一般商用的路由器,为了避免分片,会部署一个Feature : “TCP Adjust-MSS”,用于动态修改用户TCP报文的MSS值,只要将将MSS值减小8个字节,以抵消PPPoE头带来的长度增加。

如果题主的网关路由器支持这个功能,打开这个功能。如果不支持,需要升级路由器。或将局域网的主机MTU都改小8个字节。

(0)

相关推荐

  • 防火墙打开之后,电脑联不上网,怎么回事?

    这段时间,有同事说最近网络攻击比较多,建议大家打开电脑防火墙,回家之后,立刻给电脑打开了防火墙,但是后果是电脑连不上网了,怎么回事呢,后来在网上搜索,也没找到办法,自己琢磨半天终于解决了,现在给大家分 ...

  • 在win7旗舰版电脑中打开网页出现乱码情况怎么办?

    我们平时使用win7 64位旗舰版电脑都会做什么?其实答案很简单,我想,每位使用win7旗舰版电脑的用户操作电脑都离不开这几种情况吧,一是网页浏览搜索信息,二是使用一些联网的软件,所以在win7旗舰版 ...

  • 电脑浏览器打开网页字体显示模糊如何解决?

    我们经常会在电脑中通过浏览器打开网页,并浏览网页内容.如果浏览器打开网页后,发现里面的字体显示模糊的话,那么应该如何解决呢?在接下来的内容中,大家可以参考系统城小编提供的解决方法,看看能否解决网页字体 ...

  • 如何在电脑中打开网页版的QQ空间?

    相信很多小伙伴都有在电脑上使用QQ,如果我们想要打开网页版的QQ空间该怎么做呢?方法很简单,下面小编就来为大家介绍.方法一:1. 首先,打开电脑上的QQ并登录.2. 打开主界面后,点击上端的QQ空间图 ...

  • 电脑中打开网页显示http错误502怎么办

    当我们在用电脑打开网页时显示http502错误到底是什么意思呢?此错误代表的是网关错误,云因是由后端电脑之间不良的IP通讯引起的,有可能包括正在尝试访问的网站的 Web 服务器. 下面就跟大家介绍一下 ...

  • win10系统电脑上打开的网页显示模糊不清如何解决

    今天给大家介绍一下win10系统电脑上打开的网页显示模糊不清的具体解决方法.1. 打开电脑,进入桌面,点击左下角的开始图标2. 在打开的菜单中,点击齿轮图标,进入设置3. 在打开的设置页面,选择系统选 ...

  • 如何解决电脑无法打开网页问题

    电脑是现在最常用的工具之一,有些用户连接网络后遇到了无法打开网页问题,想知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指,点击左下角[开始]图标.2. ...

  • 如何用360安全卫士修复电脑无法打开网页问题

    360安全卫士是一款功能强大的电脑管理软件,有些用户想知道如何用该软件修复电脑无法打开网页问题,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指,点击任务栏[360 ...

  • 如何用360安全卫士修复电脑不能打开网页问题

    360安全卫士是一款功能强大的电脑管理软件,有些用户想知道如何用该软件修复电脑不能打开网页问题,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图所示,检查电脑是否正常联网. ...

  • 如何解决电脑无法打开网页提示403 Forbidden问题

    电脑是现在十分常用的工具之一,有些用户遇到了无法打开网页提示403 Forbidden问题,想知道如何解决,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图箭头所指,先点击 ...