web前端性能调优

web前端性能调优

  最近2个月一直在做手机端和电视端开发,开发的过程遇到过各种坑。弄到快元旦了,终于把上线了。2个月干下来满满的的辛苦,没有那么忙了自己准备把前端的性能调优总结以下,以方便以后自己再次使用到的时候得于得心应手。参照了《高性能网站建设指南-前端工程师技能精髓》,本文主要主要概述前端的性能调优的方法。

第一条优化:减少http请求

  一想到调优好多人都会想到减少http请求,但是可能好多人都会不知道具体操作,我一开始也不知道。项目刚好使用fis发现fis可以打包脚本和样式表。perfect!fis的打包非常简单,只要在fis-conf.js中设置:

fis.config.merge({

    pack : {

        ‘pkg/requirepkg.js‘:[

‘/develop_workspace/appframe/kernel/jquery-1.8.3.js‘,

             "/develop_workspace/appframe/kernel/require.js",

             "/develop_workspace/appframe/kernel/require-conf.js"

 ],

       ‘/pkg/aio.css‘: ‘**.css‘

    }

});
fis.config.set(‘modules.postpackager‘, ‘sfis-postpackager-simple‘);//插件是提供给纯前端应用的打包合并插件

 js合并前

js合并后

css合并前

css合并后

从Time可以看出合并效果还是非常明显的。还有一些合并图片什么的方法,项目中使用小图标比较少,就没有具体去操作了。还有一方面是阅读代码查看自己的业务逻辑是否存在多调接口等等多余的http请求,这样也可以减少http请求。

第二条优化:添加expires头

在nginx的nginx.conf配置文件配置expires

location~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
           expires 30d;
 }

添加expires头

第三条优化:压缩组件

fis自带压缩命令,非常好用,在要在fis release加上-o就可以了,压缩比达到50%-70%。你想象不到压缩就是这么简单。

压缩前

压缩后

Gzip

  浏览器和服务器支持的话,可以使用Gzip压缩来减小响应的大小,浏览器可以使用accept-Enncoding头来声明它支持压缩,服务器使用content-Encoding头确认响应已经被压缩。我使用的是nginx服务器,其设置如下:

  gzip on;//开启Gzip

    gzip_min_length  1k;//大于1K才压缩

    gzip_buffers  4 16k;//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。

    gzip_http_version 1.0;//http版本

    gzip_comp_level 9;//压缩级别 1-10,数字越大压缩的越好

    gzip_types    application/javascript   text/plain application/x-javascript   text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;//压缩的类型

    gzip_vary on;//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

Gzip

keep-alive

  http构建在tcp之上,早期的http实现中,每个http请求都要打开一个socket连接,效率低下。保持持久连接的引入到解决了这一低效率的问题,使得浏览器可以在一个单独的连接上进行多个请求,浏览器和服务器使用connection头来指出对keep-alive的支持,在服务器的响应connection头看起来是一样的。

keepalive_timeout  65;

keep-alive

第四条优化:把css放顶部,把js放底部

  把css放顶部也许有一些人会觉的影响DOM树加载,会导致页面加载慢。实际上把css样式表放在文档顶部-head中能够使页面加载更快。样式表放在头部会使页面逐渐呈现,样式表和DOM一起加载,可以避免页面重绘。把脚本放到底部,页面也会逐渐呈现,提高下载的并行度。

其他

  使用内容发布网络,其实就是CDN。

  避免CSS表达式。

  把js和css放到外部。

  ..............

  以上的三个都没有测试,也没有实践。都是在书本上看到的,经过前面4项优化,页面加载速度已经达到我的预期了,后面就准备代码审查整改代码了。前面性能调优一直都觉的优化java代码、优化sql语句,但是现在发现前端也不可忽视。以上就是我的优化之路,肯定有不足之处,欢迎批评指出。谢谢

时间: 2024-11-05 07:03:25

web前端性能调优的相关文章

web及性能调优

nginx 的性能调优 1 修改CPU的核心数对应的Nginx work进程 这个一般是你CPU核心数的两倍,方正是倍数,具体要几倍可看具体硬件配置 2 修改文件描述符  65536 ulimit -n 永久生效可改/etc/sysctl.conf 3 修改Linux内核的调度算法    epoll 4 修改连接数  在理论上来讲是工作进程数* 连接数 但是,Nginx的理论并发值是65536,所以 ..... 你懂得 5 在多少时间之内要达到多少的并发量就缓存,否则......  你懂得 6

Web前端常用调优

一.减少HTTP请求 图片地图: 假设导航栏上有五幅图片,点击每张图片都会进入一个链接,这样五张导航的图片在加载时会产生5个HTTP请求.然而,使用一个图片地图可以提高效率,这样就只需要一个HTTP请求. 服务器端图片地图:将所有点击提交到同一个url,同时提交用户点击的x.y坐标,服务器端根据坐标映射响应 客户端图片地图:直接将点击映射到操作 <img src="planets.jpg" border="0" usemap="#planetmap&

大型WEB应用性能调优总结

声明 本文为Gleasy原创文章,转载请指明引自Gleasy团队博客 问题初级定位方法: 一感三看 一感,凭个人感觉,操作不流畅,有挫折感肯定有问题. 三看: 一看ajax请求的执行时间,网络条件好的情况下,超过400MS的肯定有问题: 二看静态内容(html,图片,js,css)等是否cache,没有cache肯定有问题: 三看同一个ajax请求的数量,如果连续有N个(N>3)以上同一个AJAX请求,肯定有问题: 问题深入定位方法 方法一:使用stopwatch,在程序中植入log记录执行时间

提高 web 应用性能之 CSS 性能调优

CSS 性能调优 CSS 代码的分析与渲染都是由浏览器来完成的,所以,了解浏览器的 CSS 工作机制对我们的优化有至关重要的作用.这篇文章我们主要从如下几个方面入手来介绍一下 CSS 的性能优化: Style 标签的相关调优 特殊的 CSS 样式使用方式 CSS 缩写 CSS 的声明 CSS 选择器 把 Stylesheets 放在 HTML 页面头部: 浏 览器在所有的 stylesheets 加载完成之后,才会开始渲染整个页面,@import 就相当于是把 <link> 标签放在页面的底部

项目总结50:Linux服务器上web项目Java项目性能调优

项目总结50:Linux服务器上web项目Java项目性能调优 最近上线的电商项目,发现非常卡,用户体验非常差,折腾了好久之后,也逐渐找到原因,并针对原因解决方案,先整理总结. 项目基本情况: 1-使用阿里ECS.OSS等一系列相关服务: 2-用户总量1W+,日活量500+ 3-电商项目,有APP.小程序.管理平台三个模块,其中接口150+ 4-项目使用SSM框架: 5-项目tomcat服务,数据库Mysql,Redis放在一个同一个服务器上: 问题表现: 1-接口反应非常慢,导致APP和小程序

记一次Web服务的性能调优

前言 一个项目在经历开发.测试.上线后,当时的用户规模还比较小,所以刚刚上线的项目一般会表现稳定.但是随着时间的推移,用户数量的增加,qps的增加等因素会造成项目慢慢表现出网页半天无响应的状况.在之前的工作中也恰巧遇到这个过程,当时对项目进行了很多性能测试和调优,今天借助博客园,将这次性能调优的过程进行整理后写成随笔,希望给广大Java后端开发的工程师提供帮助,也借此机会,对性能调优进行一些总结工作,达到备忘的目的. 测试工具与环境 性能测试工具 Loadrunner:一种预测系统行为和性能的负

[转]提高 web 应用性能之 CSS 性能调优

简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 CSS 会对页面渲染的效率有严重影响,尤其是对于结构复杂的 Web 2.0 页面,这种影响更是不可磨灭.所以,写出规范的.高性能的 CSS 代码会极大的提高应用程序的效率.本文主要来探讨一下如何优化,以及从哪些方面优化应用程序的 CSS 代码,从而最大限度的提高 Web 应用的性能. 回页首 CSS

36套精品Java高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,大型分布式电商项目实战视频教程

新年伊始,学习要趁早,点滴记录,学习就是进步! QQ:1225462853 视频课程包含: 36套Java精品高级课架构课包含:java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,架构设计,web安全,高并发,高性能,高可用,高可扩展,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,工作流,程序调优,负载均衡,Solr集群与应用,主从复制,中间件,全文检索,Spring boot,Spring cloud,Dubbo,Elasticsearch,Redis,ActiveMQ

web移动端性能调优及16ms优化

本文只是一个索引,收集了网络上大部分关于调试及优化方面的文章,从中挑选了一些比较好的文章分享给大家. 移动端性能不及桌面浏览器性能的10分之1,特别是在android设备良莠不齐的情况下,性能显得尤为重要.感觉做移动端页面,重回了解放前电脑还是386的年代,呵呵. 国内,16ms优化,60fps指标等相关的文章非常少,大部分还是翻译国外的一些优秀文章,非常感谢这些翻译者对web前端的贡献,让我等英文盲能及时了解前沿技术哈. 在进行毫秒级的优化时,了解浏览器的工作原理非常重要,这是晋级优秀程序员的