`
ljh2008
  • 浏览: 45941 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

系统性能优化总结之表现层(1)

阅读更多

对系统性能的考虑,是一个新手和老手的重要区别之一,面试的时候,问一些性能优化的问题,很容易判断应聘者的工作经验。下面是我对性能优化的考虑,将从表现层、业务层、技术层三个大的方面来阐述。本篇先介绍表现层性能优化要点。
表现层优化的一个重要原则是减少向服务器发送请求的次数以及减少每次请求的数据传输量 ,围绕这一点,将会想到有很多的优化办法。

  • ajax:大家都知道,ajax可以实现局部更新,显然减少了数据通讯量以及请求次数(全页面刷新,页面上的很多资源都要进行请求哦),而且ajax可以增强客户体验;
  • 减少图片文件大小,这个是减少数据通讯量的方法,可用png之类较小的文件存盘格式;
  • 使 用css对图片分割,把多个地方的小图标集成到一张图片上来。比如:.zhu{background:url("../img/shenxiao /sx.png") no-repeat scroll 0 -528px transparent;},注意其中的0 -528处,是关键;
  • 减 少css与js文件的数据,最好不要按照页面逻辑将文件划分成多个,以减少请求次数;在同一个文件中,也要想法减少文件大小,多余的空格,回车,在项目上 线前都要去掉,我曾经见过一些网站,就一个css文件,打开,里面只有一行,这一行非常的长,可见,边回车换行都已经被删除了,呵呵。再有,js文件上线 前要找个工具压缩一下,文件大小一般会减少一半以上;
  • 从程序上,对页面进行静态化处理(页面静态化处理的详细内容我将在后面的博客中介绍)。
  • 对页面进行缓存,squid开源产品居多,oscache也是可以的。
  • 如果是jsp,可以考虑更换成其它的模板框架,比如:velocity,freemarker等,一来可以提高页面响应速度,还可以强制程序员按model2书写页面交互。
  • 根据实际情况选择合适的数据通讯方式,json,xml,或者是服务器拼好页面再发往客户端。
  • 合理利用好浏览器缓存。但有的时候,是禁止缓存的哦,比如一些ajax操作中。
  • 启用服务器gzip压缩。

当然,条条大道通罗马,以“减少向服务器发送请求的次数以及减少每次请求的数据传输量 ”为优化核心,办法还是很多的。

分享到:
评论

相关推荐

    软件工程知识点

    其中,系统框架图用于说明系统的基本构造框架,而系统流程图则用于表现系统的基本加工流程。 2.项目可行性分析 (1)意义 •以少量的费用对项目能否实施尽早作出决断。 •根据项目条件限制,对系统的体系构造、工作...

    java 面试题 总结

    Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来...

    智能制造文献综述.doc

    总结 智能制造发展具有复杂性、系统性,涉及研发设计、生产制造、仓储物流、市场营销、 售后服务、信息咨询等各个价值链环节,涉及执行设备层、控制层、管理层、企业层、 云服务层、网络层等企

    GoodProject Maven Webapp.zip

    3:界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:jsp,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。 1:数据访问层:主要看数据层里面有没有包含逻辑...

    Spring面试题

    在对由三部分组成的 Spring 系列 的第 1 部分进行总结时,我使用了一个示例,演示了如何通过 Spring IOC 容器注入应用程序的依赖关系(而不是将它们构建进来)。 我用开启在线信用帐户的用例作为起点。对于该实现,...

    二十三种设计模式【PDF版】

    提供 Java运行性能,降低小而大量重复的类的开销. C. 行为模式 设计模式之 Command(命令) 什么是将行为封装,Command 是最好的说明. 设计模式之 Observer(观察者) 介绍如何使用 Java API 提供的现成 Observer ...

    2019数据运营思维导图

    数据分析是精细化运营,要建立起体系化思维(金字塔思维) 自上而下 目标—维度拆解—数据分析模型—发现问题—优化策略 自下而上 异常数据 影响因素 影响因素与问题数据之间的相关关系 原因 优化策略 数据化运营7大...

    数据运营思维导图

    每日启动1次计算为1次启动 需要有一个间隔时间,30秒内多次启动只能计算为1次 解决问题 衡量用户粘度,数值越大越好 识别优质渠道,渠道是否存在刷量 什么渠道/用户启动次数多 日均使用时长 定义 活跃用户...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 编程语言 程语言编程语言 程语言 C#.4 1.1 Microsoft...

    Linux多线程服务端编程:使用muduo C++网络库

    第1部分C++ 多线程系统编程 第1章线程安全的对象生命期管理3 1.1当析构函数遇到多线程. . . . . . . . . . . . . . . . .. . . . . . . . . . . 3 1.1.1线程安全的定义. . . . . . . . . . . . . . . . .. . . . . ....

Global site tag (gtag.js) - Google Analytics