如果你的网站打开速度很慢,而又不知道该如何解决,现手把手的教你如何排查网站打开慢的原因,以及优化技巧。
全球 ping 测速
本地 ping 测速
在本地 ping 命令看连接到服务器的时间和丢包情况。一个速度好的机房,首先丢包率不能超过 1%,其次 ping 值要小,第三点是 ping 值要均匀。
排查网站打开速度慢的原因:#
一、服务器性能不足#
服务器空间速度是网站打开速度快的硬件基础,也是先决条件。否则即使你网站页面设计的非常 "苗条",网站打开速度也会打折扣。
解决办法:要找你的空间商解决或换空间商。
升级到更高效的主机,如 VPS 或专用服务器,以避免资源竞争。
二、电信和联通互访瓶颈问题。#
1、如果空间打开的速度时快时慢,甚至有时候打不开,那就是空间不稳定的原因。要找你的空间商解决或换空间商了;
2、如果是在有的地方打开速度快,有的地方打开速度慢,那应该是网络线路的问题。
电信线路用户访问放在联通服务器的网站,联通线路用户访问放在电信服务器上的网站,相对来说打开速度肯定是比较慢。
解决办法:如果购买空间的话,建议购买双线空间或多线空间。这已不是新鲜的概念,大部分的虚拟主机商都有两线或多线空间,价格高一些,但是从用户体验角度来说是物有所值的。
三、服务器位置#
服务器距离用户的物理位置越远,数据传输时间就越长。
例如,位于美国的服务器对日本用户的访问速度较慢。
使用 CDN(内容分发网络):CDN 可以根据用户的位置提供服务,加速数据传输并减少延迟。
开启 CDN 缓存功能。
启用浏览器缓存和压缩:配置服务器以启用浏览器缓存和 Gzip 压缩,这样可以减少数据传输量,提高加载速度
四、网站安全问题#
网站安全性差可能导致被攻击或遭遇恶意爬虫,这会影响正常用户访问并增加加载时间
五、从网站本身找问题。#
网站的问题包括网站程序设计,网页设计结构,网页内容三个部分。
1、网站程序设计:
可以找搞程序设计的相关专业人士,查看程序的设计结构是否合理。
2、网页设计结构:
1)、如果网站中有统计代码,在线客服或是其它 js 代码,看看是否放到了网页代码的最后面。解决办法:最好尽可能的放到网页代码最后,当网站代码加载完毕,才执行这些代码。
2)、可能有错误的代码
错误代码一直加载或者堵塞,在一定程度上是会影响到网站速度的。
另一种情况是从别的网站转抄的特效 javascript 代码,可能转载不全,有许多网页错误,造成网站打开速度慢。
3)、尽量减少 javascript 特效。
3、网页内容:
1)、查看网页中是否有许多尺寸大的图片存在,可以用 photoshop、fireworks 等作图软件将图片尺寸缩小,使图片的质量稍微降低一下,在图片质量和图片大小之间寻找一个最佳的比例。
2)、查看网页中是否有尺寸大的 flash 文件存在。
3)、有的朋友喜欢在网页中加音乐,用户一打开网站,就有背景音乐播放,这样的事情尽量不要做。
4)、内容中过多地引用了其它网站的内容。如引用其他网站的图片或其它内容,如果那个网站的速度慢,或者那个网站的页面已经不存在了,打开的网页速度就会更慢。
优化加载速度的方法:#
一、优化图片#
优化图片包括减少图片数、降低图像质量、使用恰当的格式。
1、减少图片数:去除不必要的图片。
2、降低图像质量:如果不是很必要,尝试降低图像的质量,尤其是 jpg 格式,降低 5% 的质量看起来变化不是很大,但文大小的变化是比较大的。
3、使用脚本文件代替效果:使用 javascript 代码来实现效果,仅仅只增加几个字节.
二、图像格式的选择#
图片使用 webp 格式,webp 格式的图片压缩效果好
三、优化 CSS#
有时我们在写 CSS 的时候会使用了一些比较罗嗦的语句,比如这句:
代码:
margin-top: 10px;
margin-right: 20px;
margin-bottom: 10px;
margin-left: 20px;
你可以将它简化为:
margin: 10px 20px 10px 20px;
又或者这句:
<p class="decorated"> A paragraph ofdecorated text</p>
<p class="decorated">Secondparagraph</p>
<p class="decorated">Thirdparagraph</p>
<p class="decorated">Forthparagraph</p>
可以用 div 来包含:
<div class="decorated">
<p>A paragraph of decoratedtext</p>
<p>Secondparagraph</p>
<p>Thirdparagraph</p>
<p>Forthparagraph</p>
</div>
四、网址后加斜杠#
有些网址,比如http://www.baidu.com/512 当服务器收到这样一个地址请求的时候,它需要花费时间去确定这个地址的文件类型。
如果 512 是一个目录,不妨在网址后多加一个斜杠,让其变成http://www.baidu.com/512/,这样服务器就能一目了然地知道要访问该目录下的 index 或 default 文件,从而节省了加载时间。
五、标明高度和宽度#
当你在网页上添加图片或表格时,你应该指定它们的高度和宽度,也就是 height 和 width 参数。
如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。
当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而网站加载速度快了,浏览体验也更好了
六、减少 http 请求#
当浏览者打开某个网页,浏览器会发出很多对象请求(图像、脚本等等),视乎网络延时情况,每个对象加载都会有所延迟。如果网页上对象很多,这可以需要花费大量的时间。
因此,要为 http 请求减负。如何减负?#
1、去除一些不必要的对象。
2、将临近的两张图片合成一张。
3、合并 CSS 文件
七、其它小技巧#
1、去除不必要加载项。
2、如果在网页上嵌入了其它网站的 widget,如果有选择余地,一定要选择速度快的。
3、尽量用图片代替 flash,这对 SEO 也有好处。
4、有些内容可以静态化就将其静态化,以减少服务器的负担。
5、统计代码放在页尾 (或者使用延迟加载)。