网站访问速度优化,导致网站打开很慢的原因有哪些?

265次阅读
没有评论

网站访问速度优化,导致网站打开很慢的原因有哪些?

一、服务端

1、服务器出口带宽不够用。

这是一个很常见的瓶颈。一方面,可能是本身购买的服务器出口带宽就很小(企业购买带宽相当昂贵),一旦用户访问量上来了,并发量大了,自然均分给用户的出口带宽就更小了,所以某些用户的访问速度就会下降了很多。另一个,就是跨运营商网络导致带宽缩减,例如很多公司的网站(服务器)是放在电信的网络上的,而如果用户这边对接的是长城或者说联通的宽带,运营商之间网络传输在对接时是会有限制的,这就可能导致带宽的缩减。

解决:出口带宽的问题,这个很简单,加带宽,有钱就多买带宽,很简单。

2、数据库表结构不合理。

解决:在创建 MySQL 数据库表时,把经常作为查询条件的字段设置为索引,这样可以提高数据的查询速度,从而提高网站的打开速度。

3、数据库查询语句不合理。

PHP+MySQL 动态网站,经常使用数据库 select 操作。在使用 select 操作时,切忌不要轻易使用 select * from tablename,因为这样的查询速度慢,并会占用较多内存,影响 PHP 程序的整体运行速度,进而影响网站的打开速度。

解决:建议使用针对特定字段 select 查询语句,例如 select fieldname from tablename。这样的查询方式会降低 MySQL 执行时间,提高效率。

4、数据库的读写操作太多,数据库的 IO 操作影响网页的请求速度。

解决:合理使用 redis、memcache 作为数据缓存减少 MySQL 的 IO 操作次数。

5、程序代码中大量冗余无效代码影响请求执行的完成时间

PHP 程序冗余。搭建 PHP+MySQL 网站时,会发现有些程序中存在大量冗余,延长了程序执行时间。例如重复的 SQL 查询操作,反复的变量赋值等。

解决:出现这样的情况时,最好找专业人士帮你优化一下程序,提高程序整体运行时间。

6、服务器软件性能不足。

解决:升级服务器配置且尽量避免在 VPS 或者独立服务器上安装不必要的软件,防止服务器运行速度慢,导致网站打开速度慢。

二、客户端

7、尽量使用静态页面。

解决:在使用 PHP+MySQL 搭建网站时,尽量使用可以生成静态页面的开源程序。

8、网页上存在大量图片、flash、视频文件。

网页上存在大量图片、视频时,也会影响网站的打开速度。

解决:减少网页上的图片、视频,或者优化减小图片的大小,以提高网页的打开速度,亦或者前端使用懒加载技术,在网页加载完成之后再进行图片、视频的加载。

9、网页上存在大量 JS 代码。

大量的 JS 代码也是引起网站打开速度慢的一个重要原因,尤其是一些不知名的联盟广告代码,对网站打开速度的影响非常明显。

10、使用浏览器缓存

浏览器会缓存大量信息(样式表、图片、JavaScript 文件等等),这样当访问者返回站点时,浏览器就不必重新加载整个页面

11、过多的引用了其他网站内容。

包括引用其他网站的图片、视频文件等,如果直接在页面引用别的网站的东西,而那个网站打开速度慢,或者那个网站的该页面已经不存在了,那么打开的速度就会非常慢。

12、减少 HTTP 请求数

打开一个网页的时候,后台程序的响应并不所需太多时间,等待的时间主要花费在下载网页元素上了,即 HTML、CSS、javascript、Flash、图片等。据统计,每增加一个元素,网页载入的时间就会增加 25-40 毫秒(具体取决于用户的带宽情况)。

所以,想要提高网页打开速度,可以降低 HTTP 请求数,这里提供以下 3 种方法:
1)例如用 CSS 代码代替一些图片(比如圆角图片),尽可能的减少图片使用。

2)合并文件,对于文本文件,可以直接合并内容。如将多个 javascript 文件合并成一个,将多个 CSS 文件合并成一个。

3)优化缓存,对于没有变化的网页元素(如页头、页尾等),用户再次访问的时候没有必要重新下载,可以直接从浏览器缓存里读取。

13、样式表放在网页 Head 部分

经过实际测试,把样式表 (CSS 文件) 移到网页的 Head 部分,可以提高有效页面的加载速度,让页面元素顺序显示。

14、使用 CDN(ContentDeliveryNetwork,内容分发网络)

CDN 由一系列分散到各个不同地理位置上的 Web 服务器组成,它根据和用户在网络上的靠近程度来指定某台服务器响应用户的请求。当你的网站图片很多时,就一样要使用 CDN 了,比如现在的电商网站,几乎都在使用 CDN。很多 CSS 样式框架以及 js 框架都提供了 CDN 服务,比如 bootstrap 等等。

15、压缩网页元素

显然,网页中的元素越小,下载所需的时间就越少。现在比较成熟和流程的压缩网页的方式是通过 Gzip 压缩,一般可以将网页文本内容减少 60% 以上。

16、把 JS 文件放到网页底部

网页打开时,所有元素是顺序显示的。但是由于 JS 具有特殊性,相对其他元素而言,会加载的较慢,在 JS 文件下载完成之前,其他后面元素的顺序显示将被阻塞,因此把 JS 文件尽量放在底部,意味着内容能被快速显示。

17、把样式表和 JS 脚本放到外部文件

虽然我们可以将样式表和 JS 脚本直接写入网页 HTML 中,能够减少外部文件调用数量,但是这样做会增加页面的文件大小。将样式表和 JS 脚本放到外部文件中,用户首次访问时也许会有点慢,但是后续在访问网站时,用户直接通过浏览器缓存就可以用,从而达到减少 HTTP 请求数的目的,为最优的做法。

正文完
有偿技术支持加微信
post-qrcode
 
评论(没有评论)
验证码