WEB网站性能优化

        最近做了一个WEB现场。幸运的是,一开始。但后来越来越慢,特别是在调试模式,,这肯定是我们的代码有问题。但是即使业务不是非常复杂的也非常慢,我们就想当然的觉得我们的代码没问题,可最后证明还是我们的代码有问题。我也挺佩服我怎么忍受的了的。这个也是我们不能如期完毕的主要原因。大家都由于慢。非常减少我们的积极性,往往写几句代码调试要话好长时间,所以大家都愿意干点其它的。

先列几点我知道的能够从哪方面入手优化的东西。


从前台入手

1.降低HTTP请求

         能够降低JS和CSS文件的个数,把几个合并在一起。降低不必要的图片存在,server传过来HTML文档后。浏览器在解析的时候。遇到img便签。会发生HTTP请求去获取图片。

2.使用浏览器缓存

        一个站点他的样式差点儿是一样的,所以内容是同样的,如JS、CSS和图片等,像这些东西就能够放缓存里,下次读缓存即可。

3.图片或者flash资源预载入

        有时一个页面有非常多图片和flash资源。假设都一起载入的话,那速度非常慢,影响用户使用心情,所以就能够预载入这些资源,提高用户体验度。


从代码方面入手

1.少循环。尽量杜绝嵌套循环

        有的业务十分复杂,按常规思维写的话,会出现非常多循环,甚至嵌套好几层循环。写代码时三层以上的绝对不要有,假设数据量不大的前提,两层三层的能够少有。

2.杜绝全局变量、静态变量,少用锁

        尽量杜绝全局变量、静态变量,全部人都操作一份数据,这就会有数据不统一的情况。不要轻易对一个资源加锁。假设对一个资源加锁,下一个人得等上一个人使用完。假设是频繁的訪问这个资源。则效率会大大减少。

3.降低数据库链接

        与数据库打一次交到就打开一个连接,也不主动释放。这是不可取的。

假设每次打开链接在关闭链接,这样也是不好的。

能够使用已有的链接。没有已有链接才打开一个链接。

4.使用外部的JS和CSS

        将内联的JS和CSS写成外部的JS和CSS,降低反复下载内联的JS和CSS。


数据库的优化

        数据库优化也有多值得学习的地方,这里没有深入的研究,就大概写写自己临时知道的一些。设计数据库的时候要遵循数据库三范式,但不是要求严格遵循,如有时也会要写必要的冗余来达到效率的提高。

假设要写SQL语句,要杜绝in。in就相当于代码里的循环,当数据越来越多时,那会非常影响效率的。假设用到了ORM相关的,自然中大部分实体都是相关联的,但并非有点关联就要建立映射关系,那会十分影响效率,仅仅有关联十分密切的才建立关联关系,不然你查询孙子,你就可能把它的父母、爷爷、祖父等都会查询出来。所以也少用关联映射来查询内容。

        最后,关于性能优化是一个非常大的方面,有这么多的东西值我们要学习。以上是感觉只是一点点最近。欢迎有其他相关的东西与我分享。

假设我们想知道从什么点优化项目,请关注我的下一篇博客

posted @ 2015-12-08 09:24  zfyouxi  阅读(210)  评论(0编辑  收藏  举报