您的位置:首页 > 运维架构 > 网站架构

网站性能优化

2016-03-23 22:03 686 查看

1、减少dns查找次数

dns提供了域名和ip的对应关系,当你在浏览器地址栏中输入www.baidu.org 时,DNS解析服务器就会返回这个域名对应的IP地址。DNS解析的过程同样也是需要时间的。一般情况下返回给定域名对应的IP地址会花费20到120毫秒的时间。而且在这个过程中浏览器什么都不会做直到DNS查找完毕。

2、避免使用重定向

跳转会降低用户体验。在用户和HTML文档中间增加一个跳转,会拖延页面中所有元素的显示,因为在HTML文件被加载前任何文件(图像、 Flash等)都不会被下载。

有一种经常被网页开发者忽略却往往十分浪费响应时间的跳转现象。这种现象发生在当URL本该有斜杠(/)却被忽略掉时。例如,当我们要访问http: //astrology.yahoo.com/astrology 时,实际上返回的是一个包含301代码的跳转,它指向的是http://astrology.yahoo.com/astrology/ (注意末尾的斜杠)。在Apache服务器中可以使用Alias 或者 mod_rewrite或者the DirectorySlash来避免。

3、将css放在头部,将js放在尾部

浏览器从上到下依次解析html文档。将 css 文件放到头部, css 文件可以先加载。避免先加载 body 内容,导致页面一开始样式错乱,然后闪烁。将 javascript 文件放到底部是因为:若将 javascript 文件放到 head 里面,就意味着必须等到所有的 javascript 代码都被 下载、解析和执行完成 之后才开始呈现页面内容。这样就会造成呈现页面时出现明显的延迟,窗口一片空白。为避免这样的问题一般将全部 javascript 文件放到 body 元素中页面内容的后面。

4、压缩css、js

如果你的网站大约有50-60%的用户是第一次访客,那么这些人会下载Javascript和CSS,如果这些文件很大浏览器会下载很长时间。

使用压缩工具可以减少Javascript和CSS尽一半的文件大小,可使用雅虎的YUI压缩,至少能提高40%到60%的压缩率。

好处:

1、减小了文件的体积

2、减小了网络传输量和带宽占用

3、减小了服务器的处理的压力

4、提高了页面的渲染显示的速度

5、使用内容分发网络

内容分发网络(Content-distribution network,CDN)是另一种缩短下载时间的好方法。当您将静态图像放在 Internet 上的许多服务器上时,用户能够从离他们最近的服务器下载这些图像。此外,大多数 CDN 都在快速服务器上运行,因此无论服务器的加载速度如何,其响应速度都比小型的超载服务器快。

6、使iframe的数量最小

iframe元素可以在父文档中插入一个新的HTML文档。了解iframe的工作原理然后才能更加有效地使用它,这一点很重要。



iframe的优点:

解决加载缓慢的第三方内容如图标和广告等的加载问题

Security sandbox

并行加载脚本

iframe的缺点:

即时内容为空,加载也需要时间

会阻止页面加载 o

没有语意

同步和异步

普通B/S模式(同步) AJAX(异步)

同步:提交请求->等待服务器处理->处理完毕返回,这个期间客户端浏览器不能干任何事。

异步:请求通过事件触发->服务器处理(这时浏览器仍然可以做其他的事情)->处理完毕。

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。

异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。

所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。

举个例子 打电话时同步 发消息是异步

静态页面和动态页面

静态页面:内容都呈现在网页中,不和数据库发生交互。

动态页面:结合数据库技术,与数据库发生交互。

服务器的分布式系统和负载均衡

分布式系统:与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。

负载均衡:分摊到多个操作单元上进行执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: