如何提高集群网站的负载性能?
  • 更新时间:2024-11-15 01:22:01
  • 网站建设
  • 发布时间:1年前
  • 329

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

1.减少HTTP请求的数量

构造请求和等待响应需要时间,所以请求越少越好。请求缩减的总体思路是组合资源,减少显示一个页面所需的文件数量。

1).图像映射

通过设置标签的usemap属性并使用标签,可以剪切图片中的多个区域并指向不同的链接。与使用多个图像分别建立链接相比,减少了请求的数量。

2).CSS Sprite(CSS贴图集成/贴图展平/贴图定位)

这是通过设置元素的背景位置样式实现的。对于一般界面图标。通常,您可以参考TinyMCE编辑器顶部的那些小按钮。本质上是多个缩略图被一个统一的缩略图切割成不同的偏移量,这样加载界面上的很多按钮实际上只需要请求一次(请求缩略图一次),从而减少了HTTP请求的次数。

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

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

2.使用多线CDN

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

3.使用HTTP缓存

向不经常更新的资源(如静态图)添加较长的过期标题信息。这些资源一旦缓存,在未来很长一段时间内都不会重复传输。

4.使用Gzip压缩

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

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

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

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

同样,页面显示要先处理,页面渲染要早完成,脚本逻辑要晚执行,给用户页面加载更快的感觉。

7.避免CSS表达式

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

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

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

这似乎违背了原则1中的合并思想,其实不然:考虑到每个页面都引入了一个通用的JavaScript资源(比如jQuery或ExtJS之类的JavaScript库)。单就页面性能而言,内联(即将JavaScript嵌入HTML)页面比外部(用标签导入)页面加载更快(因为它的HTTP请求更少)。但是如果很多页面都引入了这种常见的JavaScript资源,内联方案就会造成重复传输(由于这种资源是嵌入在每个页面中的,所以每打开一个页面就要传输一次,造成网络传输资源的浪费)。这个问题可以通过独立利用这些资源来解决。

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

9.减少DNS查找

作者的建议是:

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

如果连接断开,下一次将执行DNS查找,即使相应的域名-IP映射已被缓存,查找也需要一些时间。

2).减少域名

每次请求新域名,都需要通过DNS搜索不同的域名,DNS缓存无法工作。所以尽量在一个统一的域名下组织站点,避免使用过多的子域。

10.压缩你的JavaScript

使用JS压缩工具来压缩您的JavaScript。非常有效。看看jQuery的两个不同发行版,看看它们的区别:

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

Http://code.jquery.com/jquery-1.6.2.min.js压缩jQuery代码(用于实际部署),89.4KB

11.尽量避免重定向

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

1).避免无效的URL。

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

2) URL美化

在可读URL和实际资源URL之间转换。比如Google Toolbar,用户记住了http://www.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/9423.html

在线客服

扫码联系客服

3985758

回到顶部