最近做了一个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相关的,自然中大部分实体都是相关联的,但并非有点关联就要建立映射关系,那会十分影响效率,仅仅有关联十分密切的才建立关联关系,不然你查询孙子,你就可能把它的父母、爷爷、祖父等都会查询出来。所以也少用关联映射来查询内容。

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

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

WEB网站性能优化的更多相关文章

  1. Web前端性能优化教程05:网站样式和脚本

    本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:网站样式和脚本代码的放置位置.使用外部javascript和css.完整教程可查看:Web前端性能优化 一.将样式表放在顶部 可视性回馈的重要 ...

  2. 【读书笔记】读《高性能网站建设指南》及《高性能网站建设进阶指南:Web开发者性能优化最佳实践》

    这两本书就一块儿搞了,大多数已经理解,简单做个标记.主要对自己不太了解的地方,做一些记录.   一.读<高性能网站建设指南> 0> 黄金性能法则:只有10%~20%的最终用户响应时间 ...

  3. 网站的高性能架构---Web前端性能优化

    网站性能测试 不同视角下的网站性能 用户视角的网站性能:从用户角度,网站性能就是用户在浏览器上直观感受到的网站响应速度.用户的感受时间包括用户计算机和网站服务器通信的时间.网站服务器处理请求时间.用户 ...

  4. 大型网站技术架构(3):WEB 前端性能优化

    上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类 这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器 ...

  5. Web前端性能优化教程06:减少DNS查找、避免重定向

    本文是Web前端性能优化系列文章中的第六篇,主要讲述内容:减少DNS查找.避免重定向.完整教程可查看:  一.减少DNS查找 基础知识 DNS(Domain Name System): 负责将域名UR ...

  6. Web前端性能优化教程08:配置ETag

    本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:配置ETag.完整教程可查看:Web前端性能优化 什么是ETag? 实体标签(EntityTag)是唯一标识了一个组件的一个特定版本的字符串, ...

  7. Web前端性能优化教程07:精简JS 移除重复脚本

    本文是Web前端性能优化系列文章中的第七篇,主要讲述内容:精简Javascript代码,以及移出重复脚本.完整教程可查看:  一.精简javascript 基础知识 精简:从javascript代码中 ...

  8. WEB前端性能优化:HTML,CSS,JS和服务器端优化

    对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前 ...

  9. 网站性能优化(Yahoo 35条)

    Yahoo 网站性能优化 35条 一.内容部分 尽量减少 HTTP请求 减少 DNS查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM元素数量 用域名划分页面内容 使 frame数量最少 ...

随机推荐

  1. google 搜索url详解

    www.google.com [http://www.google.cn/search?q=112&hl=zh-CN&client=aff- 360daohang&hs=yhE ...

  2. Java.util.zip adding a new file overwrites entire jar?(转)

    ZIP and TAR fomats (and the old AR format) allow file append without a full rewrite. However: The Ja ...

  3. 使用Jquery+EasyUI项目开发情况的框架是中评---员工管理源代码共享

    使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...

  4. VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布(好像很不错,有六张插图说明)good

    为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半. 好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁.然 ...

  5. [Android]Eclipse的使用

    1.取消Eclipse拼写检查 General -> Editors -> Text Editors -> Spelling 取消enable spell checking 前面的勾 ...

  6. 一个发送邮件的C++库–jwsmtp

    接收邮件的,暂时没搞定,不过在SF上找到了这个发送邮件的库文件.它提供了一个比较完整的类,可以简单的调用发送邮件.下面是作者提供的一个例子,不过由于连SMTP发邮件需要密码,所以代码我改了一下.// ...

  7. Otacle表查询

    1    查询表结构       语法:desc 表      2    查询全部列       语法:select * from 表名      3    查询指定列       语法:select ...

  8. 第二十次codeforces竞技结束 #276 Div 2

    真是状况百出的一次CF啊-- 终于还Unrated了,你让半夜打cf 的我们怎样释怀(中途茫茫多的人都退场了)--虽说打得也不好-- 在这里写一下这一场codeforces的解题报告.A-E的 题目及 ...

  9. IE与FF脚本兼容性问题

    (1) window.event: 表示当前的事件对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象 (2) 获取事件源 IE用srcElement获取事件源,而FF用target获取 ...

  10. java Process在windows的使用汇总(转)

    最常用的是ant(java工程中流行),maven,及通用的exec(只要有shell脚本如.sh,.bat,.exe,.cmd等).而其实前两者不容易出错,后者却遇到了以下问题:Caused by: ...