今天对自己做的项目中的一个设计器界面加载速度上进行了优化,因为页面在加载的时候,感觉有点慢。首先,我用firefox的yslow和chrome的pagespeed进行了测试,效果如下,分数有点不同,但是都是很低的。我其实主要在chrome下用pagespeed的提示进行优化的。

yslow优化前:

yslow优化后:

pagespeed优化前:

pagespeed优化后:

优化策略:

1.tomcat配置启用gzip压缩

2.tomcat配置静态文件的过期时间

3.css放页面上方

4.javascript放页面下方

5.css和js文件分别合并、压缩

tomcat启用gzip压缩

打开tomcat的conf目录下的server.xml文件,修改如下

  1. <Connector port="80" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" executor="tomcatThreadPool" URIEncoding="utf-8"
  4. compression="on"
  5. compressionMinSize="50" noCompressionUserAgents="gozilla, traviata"
  6. compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

参考链接:http://blog.csdn.net/hbcui1984/article/details/5666327

tomcat配置静态文件过期时间

打开tomcat的conf目录下的web.xml文件,增加如下:

  1. <filter>
  2. <filter-name>ExpiresFilter</filter-name>
  3. <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
  4. <init-param>
  5. <param-name>ExpiresByType image</param-name>
  6. <param-value>access plus 10 minutes</param-value>
  7. </init-param>
  8. <init-param>
  9. <param-name>ExpiresByType text/css</param-name>
  10. <param-value>access plus 10 minutes</param-value>
  11. </init-param>
  12. <init-param>
  13. <param-name>ExpiresByType application/javascript</param-name>
  14. <param-value>access plus 10 minutes</param-value>
  15. </init-param>
  16. </filter>
  17. <filter-mapping>
  18. <filter-name>ExpiresFilter</filter-name>
  19. <url-pattern>/*</url-pattern>
  20. <dispatcher>REQUEST</dispatcher>
  21. </filter-mapping>

过期时间:每次请求增加十分钟

参考链接:https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/ExpiresFilter.html

css文件合并压缩,js文件合并压缩

合并压缩使用grunt进行处理,简单方便

参考链接:http://www.cnblogs.com/snandy/archive/2013/03/11/2949177.html

http://www.cnblogs.com/snandy/archive/2013/05/20/3088613.html

总体来说,页面加载速度有所提升,因页面设计器中,各个组件的js和核心js加起来有30多个,我只针对这方面进行了压缩合并,其他引入的js插件都是使用的压缩后的;css方面我也只压缩合并的我自己增加的文件。图片方面没有把所有图片都合并到一个文件中,只有少部分icon整合了,这方面合并后应该还会有所提升。

一次WEB前端优化尝试的更多相关文章

  1. web前端优化-温故知新系列(1)

    有关web前端优化的博文,博客园中有许多网友的博客中都有介绍,而且详细.精准.楼主打算写这个博客,算是对自己一年工作来的一个总结和积累有些知识从别的地方拷贝过来的,但是都审查过. 引言: 1. 慢的页 ...

  2. 关于大型网站技术演进的思考(二十一)--网站静态化处理—web前端优化—下【终篇】(13)

    本篇继续web前端优化的讨论,开始我先讲个我所知道的一个故事,有家大型的企业顺应时代发展的潮流开始投身于互联网行业了,它们为此专门设立了一个事业部,不过该企业把这个事业部里的人事成本,系统运维成本特别 ...

  3. 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)

    Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...

  4. 关于大型网站技术演进的思考(十九)--网站静态化处理—web前端优化—上(11)

    网站静态化处理这个系列马上就要结束了,今天我要讲讲本系列最后一个重要的主题web前端优化.在开始谈论本主题之前,我想问大家一个问题,网站静态化处理技术到底是应该归属于web服务端的技术范畴还是应该归属 ...

  5. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  6. [转] Web 前端优化最佳实践之 Mobile(iPhone) 篇

    原文链接:http://dbanotes.net/web/best_practices_for_speeding_up_your_web_site_server_mobile.html Web 前端优 ...

  7. [转] Web前端优化之 图片篇

    原文链接: http://lunax.info/archives/3101.html Web 前端优化最佳实践第六部分面向 图片(Image),这部分目前有 4 条规则.在最近的 Velocity 2 ...

  8. [转] Web前端优化之 Javascript篇

    原文链接: http://lunax.info/archives/3099.html Web 前端优化最佳实践之 JavaScript 篇,这部分有 6 条规则,和 CSS 篇 重复的有几条.前端优化 ...

  9. [转] Web前端优化之 CSS篇

    原文链接: http://lunax.info/archives/3097.html Web 前端优化最佳实践第四部分面向 CSS.目前共计有 6 条实践规则.另请参见 Mozilla 开发者中心的文 ...

随机推荐

  1. oracle创建计划任务

    特别提示: oracle是执行完任务,才按照interval去计算下次执行时间!!! 为精确每个5分钟执行一个任务,必须自己计算时间. 如:trunc_minute(sysdate)+/ create ...

  2. win7下docker环境centos容器中安装mysql5.7

    docker环境基于镜像skiychan/nginx-php7,进行安装 ps:skiychan/nginx-php7此镜像已封装nginx1.15.3+php7.2.9 1.环境配置 配置共享文件夹 ...

  3. 现在就能投入使用的12个高端大气上档次的CSS3特性

    原文:http://tutorialzine.com/2013/10/12-awesome-css3-features-you-can-finally-use/ 原文中有demo展示及下载. 翻译开始 ...

  4. keycloak学习

    keycloak 是一个针对Web应用和RESTfull Web API 提供SSO(Single Sign On:单点登陆),它是一个开源软件,源码地址是:https://github.com/ke ...

  5. js获取URL中指定的值

    function getSearchString(key) { // 获取URL中?之后的字符 var str = location.search; str = str.substring(1,str ...

  6. c++源文件后缀名问题

    VC里用cpp作后缀名, 在GCC里默认采用C.cc.cxx作为后缀名 .cpp, .h (VS file).cc, .h (GCC file)   C中: 头文件后缀名: .h 源文件后缀名: .c ...

  7. finish/onDestroy/System.exit()的区别

    Activity.finish():Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Ac ...

  8. liblinear参数及使用方法(原创)

    开发语言:JAVA 开发工具:eclipse (下载地址 http://www.eclipse.org/downloads/) liblinear版本:liblinear-1.94.jar (下载地址 ...

  9. hdu 3642 体积并

    题意:求三个矩形体积的并 链接:点我 枚举z #include<stdio.h> #include<iostream> #include<stdlib.h> #in ...

  10. 第一章 -- Java性能调优概述

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: 1.概述 2 ...