写点什么

Web 页面性能分析工具 YSlow 开源

  • 2012-02-16
  • 本文字数:761 字

    阅读完需:约 2 分钟

2 月 16 日,Yahoo! 的前端工程师 Marcel Duran 在 Yahoo! 研发团队官方博客发布消息: YSlow 开源

YSlow 是广为人知的 Web 页面性能分析、测试和调试工具,已经成为业界的事实标准之一。它的主要功能包括:

  • 基于三种预定义的规则集,或用户自定义的规则集,为页面打分
  • 为页面性能提升提供建议
  • 总结页面的组件情况
  • 展示页面统计信息
  • 提供性能分析工具,包括 Smush.it JSLint

YSlow 团队提出的“23 条 Web 性能最佳实践和规则”更是被奉为圭璧。

  1. 尽可能减少 HTTP 请求次数
  2. 使用 CDN
  3. 避免空 src 和 href 标签
  4. 加入 Expires 或 Cache-Control Header
  5. 使用 Gzip 压缩
  6. 在 html 文件顶部放置样式表
  7. 在 html 文件底部放置 JavaScript 脚本
  8. 避免使用 CSS 表达式
  9. 使用外部 JavaScript 和 CSS 外部文件
  10. 减少使用 DNS 查找次数
  11. 精简 JavaScript 和 CSS
  12. 避免重定向
  13. 移除重复的脚本
  14. 配置 ETag
  15. 缓存 AJAX
  16. 使用 GET 完成 AJAX 请求
  17. 减少 DOM 元素数量
  18. 避免 404
  19. 减少 Cookie 大小
  20. 使用无 Cookie 的域
  21. 避免使用滤镜
  22. 不要在 HTML 中缩放图片
  23. 使用小 favicon.ico 文件,并让其可缓存

在博客中,Marcel 这样写:

从 2007 年开始,YSlow 对公众免费发布。过去 5 年,Yahoo! 一直在维护其代码,并得到社区的鼓励,一直在改进。现在,我们在 BSD 开源协议下将 YSlow 代码开源。⋯⋯由于 YSlow 完全以 JavaScript、HTML 和 CSS 开发,大家很容易为其做出贡献。

YSlow 在 GitHub 上的最新开发版在 github.com/marcelduran/yslow

性能社区一直在通过 Exceptional Performance Yahoo! 讨论组做出间接贡献,提供有价值的反馈。现在,问题将会通过 GitHub 的公共问题跟踪系统处理,社区能够直接决定项目路线图。现在,你们可以来协助制定优先级、修复bug 并改进YSlow 了!请赶紧 fork 代码,开始贡献吧!

InfoQ 的读者们,你们对 YSlow 的开源怎么看?你们会去为其贡献代码吗?欢迎在评论中留下你们的想法!

2012-02-16 22:394455
用户头像

发布了 479 篇内容, 共 182.4 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

消息队列架构设计文档

高亮

架构实战营

变电站无人值守也能运筹帷幄?数据这样监控,时效节省高达90%

一只数据鲸鱼

数据可视化 3D可视化 智慧电网 变电站

软件质量指标自动度量方法

鸿渐科技_mason

代码质量 源代码 软件安全 软件质量指标 鸿渐科技

这份Mybaits缓存机制总结,阿里大佬看完直呼牛批,到底有多强?

飞飞JAva

Yarn的架构和原理

五分钟学大数据

hadoop YARN 5月日更

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

硬核资源!清华博士的Spring Boot中AOP与SpEL笔记,码农:膜拜

牛哄哄的java大师

Java springboot spring aop

微信标准版交易组件使用教程

frank-say

微信小程序 微信 大前端

撸完腾讯T4大佬整理的ThreadLocal笔记,解决内存泄漏只是小儿科

牛哄哄的java大师

Java ThreadLocal

数据结构与算法必知基础知识

bigsai

数据结构 算法

大厂常问iOS面试题汇总!

iOS猿_员

ios 面试 ios开发

直呼内行!靠着这份阿里10w字面试总结,我成功收到了4个大厂offer

Java 程序员 架构 面试

Linux 的 IO 通信 以及 Reactor 线程模型详解

Linux服务器开发

reactor 后端 多线程 Linux服务器开发 网络io

消息队列架构设计文档

方堃

强推!Java大牛熬夜一周梳理的 Spring IOC笔记,收藏一波

飞飞JAva

Java 容器

在校生丨五面丨拿到阿里offer,你还在边“摸鱼”边抱怨“行业内卷”吗?

Java架构师迁哥

消息队列详细架构设计

Lane

zookeeper的watch机制

大数据技术指南

zookeeper 5月日更

敏捷MVP面面观

禅道项目管理

敏捷 MVP

拜托阿里老表爆肝整理10W字Java高级面试精华!帮我成功入职字节

比伯

Java 编程 架构 互联网 计算机

模模搭古城搭建学习笔记4:完结篇

ThingJS数字孪生引擎

物联网 3D可视化 数字孪生

☕【Java技术之旅】来啊!带你认识一下String字符串

码界西柚

JVM string 5月日更

iOS 面试策略之语言工具-Swift vs. Objective-C

iOSer

ios objective-c swift 面试 移动开发

大促秒杀场景技术方案

Mars

秒杀

React Hook | 必 学 的 9 个 钩子

程序员海军

最佳实践 方法论 大前端 React Hooks 引航计划

企业密码管理为何仍然是一个难题?

龙归科技

密码学 密码 弱密码

详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

阿里云CloudImagine

阿里云 WebRTC 通信协议 视频云 流媒体传输

技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数

蚂蚁集团移动开发平台 mPaaS

ios android 移动开发 mPaaS

新一代运营保障体系探索

鲸品堂

运营 解决方案 运营商 通信运营商

【LeetCode】数组异或操作Java题解

Albert

算法 LeetCode 5月日更

量化AI智能交易软件,马丁策略交易

Web页面性能分析工具YSlow开源_语言 & 开发_郑柯_InfoQ精选文章