YSlow
Yslow是雅虎开发的网页性能分析工具,Yahoo!的性能团队经过多年研究识别出了34条会影响Web应用性能的行为,然后根据其中可测试的23项行为开发了YSlow工具
- Minimize HTTP Requests
- Use a Content Delivery Network
- Avoid empty src or href
- Add an Expires or a Cache-Control Header
- Gzip Components
- Put StyleSheets at the Top
- Put Scripts at the Bottom
- Avoid CSS Expressions
- Make JavaScript and CSS External
- Reduce DNS Lookups
- Minify JavaScript and CSS
- Avoid Redirects
- Remove Duplicate Scripts
- Configure ETags
- Make AJAX Cacheable
- Use GET for AJAX Requests
- Reduce the Number of DOM Elements
- No 404s
- Reduce Cookie Size
- Use Cookie-Free Domains for Components
- Avoid Filters
- Do Not Scale Images in HTML
- Make favicon.ico Small and Cacheable
YSlow会根据这些行为检测Web应用,对应用的性能的打分,并对如何进行性能改进提出建议。目前大部分的浏览器(Chrome,Firefox,Safari,Opera,没有IE)都已支持其插件。官网:
http://yslow.org/
YSlow命令行运行
大部分的情况下,开发者都是使用浏览器的YSlow插件调试页面性能,然后根据建议修改提升应用性能,根据极限编程的思想,我们做过的一件事如果是好的,那么我们就应该更经常的去做,逼近极限的去做。因此,最好能够做到每一次提交都能够运行一次Yslow,检测最新提交的代码是否有前端性能问题,这也是“把性能测试作为一等公民”的思想的具体实施。因此,最好是能把Yslow直接添加Build Pipeline中。
要把Yslow添加到build pipeline中,首先需要能够在命令行中运行YSlow,这方面YSlow提供了2个选择:
- YSlow for PhantomJS
- 为应用生成HAR文件,然后使用YSlow的NPM包分析这个文件
比较了一下,生成HAR文件比安装PhantomJS麻烦,因此,我个人更倾向于使用PhantomJS。
使用YSlow for PhantomJS非常简单:
首先,需要安装PhantomJS,具体可以参见PhantomJS官网:http://phantomjs.org/download.html
然后,下载YSlow for PhantomJS脚本(http://yslow.org/yslow-phantomjs-3.1.8.zip )
再然后,运行 phantomjs yslow.js http://www.example.com 即可得到YSlow结果。
该工具提供了很多的参数让开发者更容易定制自己想要的YSlow结果,比方说输出文件的格式,对性能的最低要求之类的。开发者可以通过命令 ‘phantomjs yslow.js --help’查看。
Yslow和CI服务器集成
有了命令行支持,与CI服务器的集成就不是什么问题了。尤其是开源的Jenkins服务器,在Jenkins中,点击“Add build step”添加测试步骤,选择“Execute shell”选项,只需要把如下的命令添加到构建过程就行了:
phantomjs yslow.js -i grade -threshold "B" -f junit http://www.example.com > yslow.xml
上面的命令行的意思是:
- -i grade 表示需要展示所有的信息
- -threshold "B" 表示总得分不能低于B
- -f junit 表示结果输出采用Junit的格式
- http://www.example.com 表示需要测试的页面
- >yslow.xml 表示结果的输出文件
运行完上面的命令之后,还需要点击Add post-build action”添加一个新的步骤,选择“publish Junit test result report”,把测试报告展示在Jenkins中。运行后就可以在测试结果中看到如下的结果:
除了Jenkins之外,ThoughtWorks Go, Travis-CI等也可以很好的与Yslow配合。
- 大小: 34 KB
- 大小: 134.9 KB
分享到:
相关推荐
基于springboot的招聘求职系统源码数据库文档.zip
基于springboot的校园自助洗衣服务管理系统源码数据库文档.zip
基于java的家乡特产网上商城的开题报告.docx
基于java的校园跑腿管理系统的开题报告
毕业设计&课设_ 健身房管理系统 Java 后端,含多种功能模块,代码完整开源.zip
基于springboot的小学家校互联平台源码数据库文档.zip
基于java的线上选课系统的开题
基于springboot+vue的桂林旅游网站系统源码数据库文档.zip
基于springboot协同过滤算法的个性化音乐推荐系统源码数据库文档.zip
基于SpringBoot的中药材管理系统源码数据库文档.zip
基于springboot的电缆行业生产管理系统源码数据库文档.zip
最新HTML一键打包EXE工具2.0.0, 采用了新的内核, 相比1.x版本, 支持更多最新浏览器特性. HTML一键打包EXE工具能把任意HTML项目(址)一键打包为单个exe文件,在脱离浏览器及服务器的情况下直接运行,支持课件,游戏,址等各类项目.
基于SpringBoot的社区居民诊疗健康管理系统源码数据库文档.zip
上传【mysql数据库项目】资源
压缩文件(3).zip
安装office2010时经常会提示MSXML未安装等问题,导致无法继续安装,使用此一键修复工具可以完美解决
基于springboot的网上商城源码数据库文档.zip
详情介绍 html实现的破碎拼接文字动画特效代码是一段会自动产生文字依次破碎再拼接的效果,非常的炫。欢迎对此段代码感兴趣的朋友前来下载使用。
基于springboot高考志愿智能推荐系统源码数据库文档.zip
Oracle数据库是一种功能强大的关系型数据库管理系统,在企业中被广泛使用。为了方便用户进行数据库管理和操作,Oracle提供了丰富的命令集。 《Oracle常用命令速查手册》将介绍一些常用的Oracle命令和其用法,比如数据导入导出命令、存储过程和触发器的管理以及性能监控等方面的常用命令,通过简单明了的示例,展示了每个命令的用法和效果,以帮助读者更好地理解和使用Oracle数据库