用户打开网页的速度慢,是因为其中某个环节出了问题,或者不够优化。
简要总结下网页打开速度慢的原因,主要有以下几点:
一、网络最小带宽(推荐学习:PHP视频教程)
这是最主要的因素,也就是网友经常说的宽带不够。同样的网站,如果宽带高,访问速度就会明显变快。
网络的带宽包含网站地点服务器带宽和用户端带宽两个方面,对接点指的是出口端与进口端(如电信对网通的对接点)。
二、DNS解析速度
DNS解析是从域名到IP的解析。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成。
DNS解析包括往复解析的次数及每次解析所花费的时间,它们两者的积即是DNS解析所耗费的总时间。许多人无视了DNS解析的因素,其实它对网站解析速度也是十分重要的。
三、服务器及客户端硬件配置
相同的网络环境下,双核的服务器的运算能力必定要强一些。同样在客户端,相同的网络环境下,你用一台配置英特尔i7处理器和i3处理器来打开相同的页面,速度也一定不一样。
四、服务器软件
在服务器端,安装软件的数量以及运行是否稳定都会影响到服务器环境,进而影响到网络速度。例如服务器配置软件防火墙,就会导致网络速度受影响。
五、页面内容
如果网页包含大量未经处理的图片,而这些图片很大,就会导致打开速度变慢。其他如Flash和影视文件,都会影响访问速度。
同时冗余代码也是拖慢网站速度的因素之一。站长需要尽量优化代码,用最少的代码,实现最佳的效果。
六、数据库操作
小网站做数据库操作也会影响网站速度,尤其是同时有许多用户提交评论时,就会发生操作数据库锁死,致使网站打不开。
七、使用javascript特效
网站上运用javascript特效是大忌,不只是无法被搜索引擎抓取,还会因为不断向服务器提出请求,导致添加服务器负担,网站变慢。
具体的例子如鼠标特效、节目的特效、状态栏的特效等等。这些特效的原理是先由服务器下载到用户端的机器,然后在本地机器上运转,最终被用户看到。特效做的多了,用户本地机器上就要运转大半天才干悉数完成。css,js该合并的合并。
八、过多引用其他网站内容
例如引用其他网站的图像、视频文件等。如果链接到的网站速度慢,甚至那家网站已经不存在了,那么用户打开网页的速度就会十分慢。
九、后端问题
请求过长、请求个数过多,某个请求耗费时间过长(概率比较大的几个可能是:a)资源在第三方站点上,他们很慢;b)这个资源太大了;c)这个资源使用的域名有问题。)。
十、网络问题
仔细看一下一个单独的http请求,他们会分为好几段,分别是域名解析、建立连接、发送请求、等待响应和接收数据几个阶段。理论上域名解析和建立连接应该占用的时间很小才对,主要的时间应该用在后面几个阶段上。
十一、接收数据时间过长
上面说了,http请求的大部分时间应该花在后面几个阶段,比如等待响应和接收数据。但是,如果接收数据的时间太长了,长到数百毫秒甚至以秒计算的时候,那也是有问题的。这种情况一般是因为下载的内容太重了,例如大图片、大脚本等。这类问题可以使用GZIP压缩、图片压缩或者JS/CSS的minify等手段来解决。
十二、js阻塞请求
图中两个连续的请求之间出现了一个很大的空隙,为啥会出现这个空隙呢?可能是因为写的js性能有问题,解析执行js花了很长时间,导致这段时间的资源加载都被阻塞住了。
更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!
Atas ialah kandungan terperinci 网页加载速度慢的原因. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!