如何搭建集群网站提高网站的负载性能?
  • 更新时间:2024-11-16 11:42:30
  • 网站建设
  • 发布时间:1年前
  • 362

如何提高网站加载性能。网站建设本公司根据自身经验总结了以下几个方面,希望能给新手站长一些帮助。

1.减少HTTP请求的数量

构造请求和等待响应需要时间,因此请求越少越好。 request reduction的大致思路是整合资源,减少显示一个页面需要的文件数量。

1).图像映射

通过设置label的usemap属性,使用label可以裁剪图片中的多个区域,指向不同的链接。与使用多个图像单独构建链接相比,减少了请求数量。

2).CSS Sprite(CSS贴图整合/地图扁平化/地图定位)

这是通过设置元素的背景位置样式来实现的。对于一般界面图标。典型的可以参考TinyMCE编辑器顶部的那些小按钮。本质上是将一张统一的大图通过不同的偏移量裁剪出多张小图,这样加载界面上的很多按钮实际上只需要请求一次(request the large image once),从而减少了HTTP请求次数。

3).嵌入图像(嵌入图像)

不在src中指定外部图片文件的URL,而是直接放图片信息。例如,src='data:image/gif;Base64, R0lGODlhDAAMAL.'在一些特殊情况下很有用(比如一张小图片只在当前页面使用)。

2.使用多线CDN

为您的站点提供多线路(如中国电信、中国联通、中国移动)和多个地理位置(北、南、西)访问,让所有用户都能快速访问。

3.使用HTTP缓存

向不经常更新的资源(例如静态图像)添加更长的过期标头信息。这些资源一旦缓存起来,以后很长一段时间都不会重传。

4.使用Gzip压缩

使用Gzip 压缩HTTP 消息可以减少体积和传输时间。

 5.将样式表放在页面的前面

先加载样式表,这样页面渲染就可以更早开始,给用户一种页面加载速度更快的感觉。

6.将脚本放在页面的末尾

同理5,先处理页面显示,提早完成页面渲染,后执行脚本逻辑,给用户感觉页面加载速度更快。

7.避免CSS表达式

过于复杂的JavaScript 脚本逻辑、DOM 搜索和选择操作会降低页面处理效率。

集群网站建设如何提高网站的负载性能呢?

8.使用JavaScript和CSS作为拓展资源

这似乎违背了原则1中合并的思路,其实不然。 想一想,每个页面都引入了一个通用的JavaScript资源(比如jQuery或ExtJS等JavaScript库)。仅从页面性能的角度来看,内联(即嵌入HTML 中的JavaScript)页面加载速度比外部(使用标签引入)页面更快(因为它的HTTP 请求更少)。但是如果很多页面都引入了这个普通的JavaScript资源,那么内联方案会造成重复传输(因为每个页面都嵌入了这个资源,每次打开页面都要传输这部分资源,造成网络传输资源浪费).这个问题可以通过独立和外部利用这些资源来解决。

由于JavaScript 和CSS 相对稳定,我们可以为其对应的资源设置更长的有效期(参考原则3)。

9.减少DNS查找

作者给出的建议是:

1).使用Keep-Alive 保持联系。

如果连接丢失,下次进行DNS查找时,即使已经缓存了相应的域名-IP映射,也需要一些时间。

2).减少域名

每次申请新的域名,都需要通过DNS搜索不同的域名,而DNS缓存无法发挥作用。因此,尽量将网站组织在统一的域名下,避免使用过多的子域名。

10.压缩你的JavaScript

使用JS 压缩器压缩你的JavaScript。非常有效。看看两个不同的jQuery 发行版,看看它们有何不同:

http://code.jquery.com/jquery-1.6.2.js版的jQuery代码,230KB

http://code.jquery.com/j

query-1.6.2.min.js压缩的jQuery代码(用于实际部署),89.4KB  

  11.尽量避免重定向  

  重定向是指在你实际访问你想看的页面之前,增加一轮额外的HTTP请求(客户端发起HTTP请求→HTTP服务器返回重定向响应→客户端发起请求新的URL→HTTP服务器返回内容,带下划线的部分是额外的请求),所以需要更多的时间(给人的感觉是响应较慢)。所以除非必要,不要随意使用重定向。几种“必要”情况:  

  1).避免URL无效  

  旧站点迁移后,为了避免旧URL失效,通常会将对旧URL的请求重定向到新系统的相应地址。  

  2).URL美化  

  在可读性好的URL和实际的资源URL之间进行转换。比如Google Toolbar,用户记住的是http://toolbar.google.com,一个对人类有语义的地址,但是很难记住http://www . Google . com/tools/Firefox/Toolbar/FT3/intl/en/index . html,真正的资源地址。所以要保留前者,把对前者的请求重定向到后者。  

  12.删除重复的脚本  

  不要在一个页面中重复介绍同一个脚本。例如,如果脚本B和C都依赖于A,那么在使用B和C的页面中可能会出现对A的重复引用,解决方案:对于简单站点,手动检查依赖关系,消除重复介绍;对于复杂的站点,需要建立自己的依赖管理/版本控制机制。  

  13.小心处理电子标签  

  ETag是除Last-Modified之外的另一种HTTP缓存方式。确定资源是否已被哈希修改。但是ETag也有一些问题,比如:  

  1).不一致:不同的Web服务器(Apache、IIS等。)定义不同的ETag格式。  

  2).ETAG的计算是不稳定的(由于太多的因素),例如:  

  1)相同的资源在不同的服务器上计算出来的etag是不同的,大型Web应用通常由多个服务器服务,导致客户端在服务器A缓存的资源明显仍然有效,但在下一个请求B中会因etag不同而被视为无效,导致相同资源的重复传输。  

  2)资源不变,但是ETag由于一些其他因素而变化,例如配置文件变化。直接结果就是系统更新后,客户端缓存大规模失效,导致传输量大增,站点性能下降。  

  笔者的建议是:要么根据你的应用特点改进现有的ETag计算方法,要么干脆用最简单的Last-Modified代替ETag。  

  14.在Ajax中使用HTTP缓存  

  Ajax是一个异步请求,它不会阻塞你当前的操作,当请求完成后,你可以立即看到结果。然而,异步并不意味着它可以立即完成,也不意味着它需要无限长的时间才能完成。因此,应该注意Ajax请求的性能。很多Ajax请求访问的都是一些相对稳定的资源,所以不要忘了利用好Ajax请求的HTTP缓存机制。详见原则3和原则13。

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/web/10124.html

在线客服

扫码联系客服

3985758

回到顶部