【总结】网站性能分析-前台优化

背景:对于一个大型网站来说,前台的性能直接影响用户的操作体验,直接影响的就是网站的用户活跃度和业务质量。那么如何评测一个网页的性能至关重要。虽然不能得知所有用户访问一个页面的加载流畅情况,但是至少要满足80%的用户操作可用性。从一个页面让用户访问开放的渠道比较多,签入到app移动端,wap端,web端等端应用场景,一般注重移动端性能场景较多,毕竟目前用户手机的内存和性能都比pc小的太多。所以解决移动端访问页面的性能是重中之重。我们从快速从6个维度来衡量一个页面的标准来看,能够解决大部分的网页性能问题。然后再从具体的标准中,去处理相关优化。也就是第二章,网页优化所写的主要内容。后面有几个工具可以简单参考使用。

衡量标准

1.首次加载,弱网<200k,强网<300k,页面二次加载<50k。

2.请求数<20

3.wifi条件下页面渲染时间<1s

4.页面帧率>50

5.弱网Q值配置,

6.资源压缩与域名收敛。

网页优化

content优化与分析

1).减少https请求,尽量将数据在服务端尽量少的接口中返回。

2).减少DNS查找。即页面资源不同的域名尽量少。

3).避免URL重定向。在重定向之间,页面不会下载任何资源,整体到页面渲染延迟较高。

4).尽量让ajax使用缓存,缓存可以是写入本地的缓存也可以是自己自定义的缓存区域,减少没有必要服务端的请求。

5).尽量减少DOM元素,避免不必要的资源下载。

6).避免请求之后返回到404,避免浪费服务器资源。

cookie优化与分析

1).减少没有必要的cookie,以减少传输网络流量

2).静态资源请求以及不需要cookie的请求,尽量减少或不带上cookies。

css优化与分析

1).尽量将css样式文件放到head里面。

2).避免使用css表达式

3).js/css尽量独立成外链文件,避免融合在html。外链的文件可以利用缓存,避免做不必要的请求。

4).js,css脚本尽量压缩,避免多余的网络传输。

5).尽量减少复制或者移除的js,css,减小请求流量

6).避免使用阿尔法图片过滤器,由于是针对每个元素级别的处理,会增大消耗内存。

images优化与分析

1).尽量使用符合要求的图片资源。即不要加载过大的图片,然后使用元素缩小图片尺寸。

2).常用的不变更的图片尽量使用缓存技术处理。避免不必要的请求。

javaScript优化与分析

1).js尽量放到html底部,以保证整个页面会提前被渲染。

2).js/css做成外链文件,可以被浏览器缓存利用,减少不必要的服务端请求。

3).减小js,css文件大小,即压缩文件,减小网络传输。

4).尽量避免,复制或者移除的js,css内容,优化样式或者脚本大小。

Server优化与分析

1).尽量将响应的内容部署到地址位置不同的机器,即CDN上。增加响应速度。

2).避免空的图片链接。减少网络流量。

3).将图片,脚本等静态资源在Headers里面标记过期时,缓存数据,避免每次都需要请求。

4).合并响应请求,开启gzip压缩。

5).开启ETags(entity tags),避免无用的网络请求。

6).尽量使用Get模式的ajax请求,cookie不能太长,最长url在IE6不超过2kb,减少不必要的字节传输,post模式会带有其他信息。

常用工具

页面性能评分工具

1.Yslow

图片合并工具

1.图片合并:css sprite(css精灵)+css sprite样式生成工具

.bg_sprite{background-image:url(/整图地址); background-repeat:no-repeat}

引用该类 .. 然后在元素中逐一定义背景坐标 .. 以下为关键属性 ..

ico1 {width:容器宽度;height:容器高度;background-position:X坐标 Y坐标}

压缩脚本工具

1.压缩js工具,Minify JS

时间: 2024-08-24 06:16:03

【总结】网站性能分析-前台优化的相关文章

linux服务器的性能分析与优化(十三)

[教程主题]:1.linux服务器的性能分析与优化 [主要内容] [1]影响Linux服务器性能的因素 操作系统级 Ø CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少. 另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,两个4核的CPU整

1.linux服务器的性能分析与优化

[教程主题]:1.linux服务器的性能分析与优化 [课程录制]: 创E [主要内容] [1]影响Linux服务器性能的因素 操作系统级 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少. 另外linux内核会将多核的处理器当做多个单独的CPU来识别,例如,两个4核的CPU会被当成8个单个CPU,从性能角度讲,

【转】由浅入深探究mysql索引结构原理、性能分析与优化

摘要: 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1.简单介绍B-tree B+ tree树 2.MyisAM索引结构 3.Annode索引结构 4.MyisAM索引与InnoDB索引相比较 第三部分:MYSQL优化 1.表数据类型选择 2.sql语句优化 (1)     最左前缀原则 (1.1)  能正确的利用索引 (1.2)  不能正确的利用索引 (1.3)  如果一个查询where子句中确实不需要password列,那就用“补洞”. (1.4)  like (2)

总结:windows下性能分析以及优化报告

性能分析以及优化     使用的是vs2017自带的性能分析工具. 主要分析了遇到的性能瓶颈,以及想到的优化方法,有的验证了,有的没有来得及. 首先看整体用时以及cpu占有率. 最终在我的设备上(I5-5200U 三星860EVO固态)运行时间约为27.3S.期间cpu占有率比较稳定. 前0.5秒cpu占用率低,大概是因为这段时间是刚开始读取文件,cpu并没有处理任务,后来便进入一边读取一遍计算的状态,cpu占有率就上来了,大概25%,但是还是不高. 而且在这里我遇到一个十分奇怪的现象 直到代码

网站性能分析得与失

################################### 方法与观念的改变 ################################### 错误导向: 我在网上会看到人们怎么优化网站,就是用yslow这样的工具来看,工具会告诉你要怎么做,哪方面有问题,比如我写在文档里面的像这样的: 这里会告诉你要开启压缩. 这里大致反映出时间. 这些做法做都是正确的.只是这种都是花俏的工夫.把这些当成是优化的方向,方向不对.着力点错了.结果发现网站速度没明显改善.因为方法错误了.基本是这种

基于Web应用的性能分析及优化案例

一. 基于动态内容为主的网站优化案例 1.网站运行环境说明硬件环境:1台IBM x3850服务器, 单个双核Xeon 3.0G CPU,2GB内存,3块72GB SCSI磁盘.操作系统:CentOS5.4.网站架构:Web应用是基于LAMP架构,所有服务都在一台服务器上部署.2.性能问题现象及处理措施   现象描述网站在上午10点左右和下午3点左右访问高峰时,网页无法打开,重启服务后,网站能在一段时间内能正常服务,但过一会又变得响应缓慢,最后网页彻底无法打开.   检查配置首先检查系统资源状态,

mysql索引结构原理、性能分析与优化

原文  http://wulijun.github.com/2012/08/21/mysql-index-implementation-and-optimization.html 第一部分:基础知识 索引 官方介绍索引是帮助MySQL高效获取数据的数据结构.笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里, 不用一页一页查阅找出需要的资料. 唯一索引(unique index) 强调唯一,就是索引值必须唯一. 创建索引: create unique index 索引名 on 表名(列

由浅入深探究mysql索引结构原理、性能分析与优化

转载自:http://www.phpben.com/?post=74 第一部分:基础知识: 索引 官方介绍索引是帮助MySQL高效获取数据的数据结构.笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要的资料.关键字index ------------------------------------------------------------- 唯一索引 强调唯一,就是索引值必须唯一,关键字unique index 创建索引: 1.create unique

转:由浅入深探究mysql索引结构原理、性能分析与优化

摘要: 第一部分:基础知识 第二部分:MYISAM和INNODB索引结构 1. 简单介绍B-tree B+ tree树 2. MyisAM索引结构 3. Annode索引结构 4. MyisAM索引与InnoDB索引相比较 第三部分:MYSQL优化 1.表数据类型选择 2.sql语句优化 (1)     最左前缀原则 (1.1)  能正确的利用索引 (1.2)  不能正确的利用索引 (1.3)  如果一个查询where子句中确实不需要password列,那就用“补洞”. (1.4)  like