web性能优化——简介
简介
性能优化的第一准则:加缓存。几乎绝大部分优化都围绕这个来进行的。让用户最快的看到结果。
性能优化的第二准则:最小原则。绝不提供多余的信息。比如,静态资源(图片、css、js)压缩,图片的滚动加载,异步请求,http请求合并等。
性能优化的第三准则:分布、集群。当前,这个的前提是已经把基本优化都做完了,才考虑这个方面。
思路
性能优化的过程是一个链条,任何一个节点上都要优化,否则都会出问题,优化也就失败了。
每个节点上都包含这几个方面
- 定位。定位这个节点是否有存在性能问题。
- 监控。监控这个节点的性能问题。
- 解决问题的办法(文档)。减少人为解决问题的成本。
后面的文章也是根据流程,一个节点一个节点来组织
性能类型
包括但不仅限于下面的几种类型。下面的这些,仅仅是基于我们团队使用的技术而言。如果有使用更多的技术可以往里面补充,比如说:cdn缓存加速等。
浏览器
浏览器是用户接触的第一道程序。往往在这里的优化很直接、简单,而且效果反而会很好。
- 资源静态缓存
- 资源静态按需加载
网络
目前网络还是比较严重的性能瓶颈。商用的企业带宽也比较贵,所以优化是非常有必要的。
- 合并请求
- 压缩传输(gzip)
- 压缩http的response内容
服务器
首先要确保每一个软件本身已经是优化过的,而且对应的软件的应用场景也是优化过。
- 操作系统(linux)
- 代理(nginx)
- web容器(tomcat)
- web应用(java)
- 数据库(mysql)
架构
架构的统一解决,可以让开发在一定的程序减少对性能的考虑。
- 业务规划。比如说:动静分离,并且使用不同域名。
- 分布。把重要的应用分布部署,独立提供服务。
- 集群。集群+负载均匀,是解决性能很直接的问题。但是最后放在所有的性能已经是最佳的情况下,再去考虑集群。这样会减少运维成本及资金成本。
- 缓存化。把热点命中的内容,又使用非常频率的使用缓存。要考虑使用的场景和命中率。
- 静态化。把常年不变的内容,都走静态化,是一个非常棒的想法。最好是做成对业务透明,无影响。
软件研发
很多性能问题是在研发的过程中产生的。
- 高性能的设计。比如:合理的数据库字段冗余。比如算法的复杂度。
- 高性能的规范。比如:不允许for里有io等。
- 高性能的标准。每个业务,要有一个标准,超过这个标准要要优化。不用每一个都必须优化,这样也影响开发效率。有目的的优化,8/2比例。用20%的时间,解决80%有性能问题。
框架
- 消息队列。解决复杂场景,不需要用户等待。如果解决实效性没那么强的业务。
语言(java)
对虚拟机的优化。
流程
熟悉流程及节点,才能定位性能的问题。而且优化的顺序一般也是按请求的流程逐一优化。这里的流程只是做个概要,并不代表全面。
整个流程是以最快的方式让用户看到结果

重复问题
如果有重复的问题,交给更高层节点(流程里的前一个节点)去解决。比如说:如果能在代理级别做静态和缓存,就不要在web容器里去实现,更不要在web应用里去实现。
文档的统一结构
- 场景
- 解决方案
- 验证方法
更高目标畅想
通过云计算来实现这些功能。
web性能优化——简介的更多相关文章
- web性能优化——浏览器相关
简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 ...
- 关于WEB 性能优化 (摘抄)
压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色 ...
- Web性能优化-合并js与css,减少请求
Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...
- Web性能优化系列
web性能优化之重要,这里并不打算赘述.本系列课程将带领大家认识.熟悉.深刻体会并且懂得如果去为不同的站点做性能优化 同时,本系列将还会穿插浏览器兼容性相关问题的解决方案,因为在我看来,兼容性同样属于 ...
- 移动web性能优化笔记
移动web性能优化 最近看了一些文章,对移动web性能优化方法,做一个简单笔记 笔记内容主要出自 移动H5前端性能优化指南和移动前端系列——移动页面性能优化
- web性能优化 来自《web全栈工程师的自我修养》
最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...
- web性能优化之--合理使用http缓存和localStorage做资源缓存
一.前言 开始先扯点别的: 估计很多前端er的同学应该遇到过:在旧项目中添加新的功能模块.或者修改一些静态文件时候,当代码部署到线上之后,需求方验收OK,此时你送了一口气,当你准备开始得意于自己的ma ...
- Web 性能优化:Preload与Prefetch的使用及在 Chrome 中的优先级
摘要: 理解Preload与Prefetch. 原文:Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级 作者:前端小智 Fundebug经授权转载,版权归原作者所 ...
- Web 性能优化:21 种优化 CSS 和加快网站速度的方法
这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...
随机推荐
- SSRS 的简单使用(二)
经过上一篇的初始,我们已经做好了报表的准备工作,接下来我们进行报表的展示和其他一下操作,并且给出一些使用RS的方法方便大家日后能灵活使用. 步骤: 1.首先拖拽表格等进入到设计模板 点击 ...
- SQL Server调优系列进阶篇(如何维护数据库索引)
前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...
- x01.BitmapHelper:图像处理
“所有致我于死地的,也激发我胆魄”,姚贝娜的<心火>,是我近年来听过最好的歌,特此推荐一下. 图像处理,大概分三步:1.LockBits():2.进行处理:3.UnlockBits():这 ...
- Android应用程序“.R文件”消失怎么办
其实Android自己维护这一个 public final class R类主要是跟新资源文件,这个R.java无需我们自己去修改,如果你不了解千万不要去修改它,它定义的每个资源值都是唯一的,不会和系 ...
- python json
#-*-coding:utf-8-*- '''编码格式记得统一,不然容易出现中文乱码,推荐用utf-8''' import json ##################json单对象######## ...
- C语言数据库编程
----摘自个人C语言数据库项目报告 3.4逻辑结构的SQL语句实现 创建基本表: 3.4-1建立商品表: create table goods(goods_id int primary key,go ...
- 调试2440 RAM拷贝至SDRAM遇到的问题
汇编代码主要是初始化一些寄存器,关狗,初始化时钟,初始化存储管理器以便访问内存,然后将SoC上4k RAM数据拷贝至SDRAM,然后在SRAM里面运行,由于代码未正常跑起来,于是使用JLinkExe来 ...
- Object-C中ARC forbids explicit message send of ' ' 错误
OC中ARC forbids explicit message send of '...'错误 转自CSDN hahahacff 有所整理 ARC forbids explicit message s ...
- HDU3535AreYouBusy[混合背包 分组背包]
AreYouBusy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Vijos1451圆环取数[环形DP|区间DP]
背景 小K攒足了路费来到了教主所在的宫殿门前,但是当小K要进去的时候,却发现了要与教主守护者进行一个特殊的游戏,只有取到了最大值才能进去Orz教主…… 描述 守护者拿出被划分为n个格子的一个圆环,每个 ...