如题,为什么我说提升网页速度的时候,不是让你去加宽带?
我身边许多人都是技术小白,我经常听到他们抱怨“XX太坑爹了,我家明明用的是10兆的网络,为什么就打开一个网页都慢的要死呢?”“这什么破网络啊,看个视频,看一分钟要等三分钟?” “卡死了卡死了...”…抱怨者往往怒气冲天愤愤不平, 听的人也是同仇敌忾不明就里。
这样的抱怨相信大家都不陌生,我自己也经常在网页打开慢的时候拿宽带来出出气,但是作为一个略懂点技术的人,我还是承认,这样的吐槽还是有失公正的。今天,我们就来好好的理一理宽带和网页速度的暧昧关系吧。
首先,我们先来总结一下导致网页打开速度慢的原因吧:
一、网络宽带很小
带宽就像管道,更粗的管道当然在单位时间内通过的“东西”当然更多。
无论一个多么慢的站点,只要你的宽带速度很快,那么你站点打开速度也很快。
二、服务器及客户端硬件配置
这一点没什么好说的,相同的网络环境下,双核的服务器的运算能力必定要强一些。同样在客户端,相同的网络环境下,你用一台配置英特尔i7处理器和i3处理器来打开相同的页面,速度也一定不一样
三、DNS解析时间过长
DNS解析是从域名到IP的解析。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成。
DNS解析包括往复解析的次数及每次解析所花费的时间,它们两者的积即是DNS解析所耗费的总时间。许多人无视了DNS解析的因素,其实它对网站解析速度也是十分重要的。
四、服务器软件数量与质量
这个也没什么好说的,早几年卡巴斯基还活着的时候,开着卡巴斯基,基本不是在杀毒,而是在让电脑卡..卡…卡…在服务器端,安装软件的数量以及运行是否稳定都会影响到服务器环境,进而影响到网络速度。
五、网页代码复杂,图片,Flash未经处理
如果站点服务器你不能决定,那么就得从网页上下手,精简代码、优化图片、FLASH处理都可以帮助我们的站点打开速度提升。同时冗余代码也是拖慢网站速度的因素之一,尽量用最少的代码达到预期的目的,给网站减肥。(关于这个,下次再给大家好好说说。)
六、频繁调用数据库
数据库的调用一般采用JS代码的方式,一旦网站JS代码过多,不仅搜索引擎不收录你的页面,而且会加重服务器的负担。轻则网站打开速度缓慢,重则网站服务器直接瘫痪了。
七、过多引用其他网站内容
例如引用其他网站的图像、视频文件等。如果链接到的网站速度慢,甚至那家网站已经不存在了,那么用户打开网页的速度就会十分慢。
归类一下就发现,只有三类因素:带宽,服务器数据库处理器等硬件设施,和网页的前端性能(代码/图片处理,JS/css优化等)
把网络宽带因素放在第一个,当然是因为这是首当其冲的原因。10m带宽和1m带宽的体验完全是不同的, 但是有一个问题是: 假如其他因素不变的情况下,如果我一直提升带宽,那么网页加载速度也会一直线性提高吗?
其实Google早就在几年前做过一个测试,带宽对网页速度的影响,以下是他们发现的数据:
图为Google针对某一特定网站所做的测试。PLT(全称:Page Load Time)代表网页性能
注:只有流媒体视频例外
很显然,当带宽到一定程度后,页面速度提升的幅度就非常有限了。
2013年Vanson Bourne研究机构曾对650名CIO和企业IT决策者进行过一项调查:受访者过去一年是否需要增加带宽,是否遇到应用性能问题?调研结果显示:
l 有92%的企业每年至少要增加10%的带宽;
l 同时,69%的企业表示他们还是遇到了频繁的应用延迟甚至是无响应的问题;
l 经历过应用响应缓慢的受访者还表示,像CRM、ERP、统一通信和协作系统这种关键业务应用程序受影响的程度比以前更频繁。
更进一步验证,增加带宽到一定程度后,页面速度提升的幅度就非常有限了。
所以,如果你的宽带还停留宅1M时代,你发现网页打不开/卡顿,这时候最稳妥的办法,宽带加到5M,10M吧。
如果你的宽带已经是5M,10M,你还是发现网页打不开/卡顿,怎么办?其实大多数家用/公司的宽带都已经是或者远远超过这个数了,企业的宽带通常都用到了50M,100M,如此高的带宽下,再提高带宽能带来的网页提速相当有限,那么这种情况下,网页该如何提速?
(到这里,没有人不理解“为什么我说提高网页速度的时候,并不是让你去加宽带?”吧?)至于最后那个问题,已经是另外的领域了,下回我们另开一篇详细讨论。
网友评论