`
csd_ali
  • 浏览: 136069 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Velocity@Beijing分享

阅读更多

       O'Reilly Velocity China 2010 ,在北京举行了为期两天的大会,由 O'Reilly Taobao 联合主办,本次大会的主题是 ”Fast by default( 与生俱来的快 )” ,关注 web 性能(更多为前端性能)和运维。

       自己有幸参加了首次在中国举行的 Velocity 大会,自我总结有以下几点:

1、  WPO web performance optimation

2、  运维(比如 taobao 如何管理 15,000 台服务器)

3、  Automate

 

一些数据

Data@Taobao

    Alexa 排名 13

    10 亿日 PV

    15,000 服务器

    带宽 318G/410G

 

Data@Facebook

    +5 亿的活跃用户,超过一半每天访问

    200 亿日 PV

 

Performance 带来的价值


 

WPO

    Web Performance Optimization

  Drives traffic

  Improves UX

  Increases revenue

  Reduces costs

 

 

How to WPO

Measure

    Yahoo!   Boomerang

    Stevesouders.org/episodes

    Jiffy

    WebPagetest.org

    ShowSlow.com

Profile

    Firebug

    Fiddle

    HttpWatch

    Speed Tracer

    Web Inspector

    Dyna Trace

Research

    Domain sharding

    Concatenation

    Sprites vs. MHTML

    WebP (A new image format for the Web)

    Prefetch

    SPDY, cwnd=10

Best practices

    High performance Even faster web sites

    High performance JS

    Code.google.com/speed

    Developer.yahoo.com/performance

    Stevesouders.com/blog

    Perfplanet.com

Evangelize (传道)

    Velocity conference

    Workshops

    University

    Case studies

    blogs

Lint

    Page Speed from google

    YSlow

Automate

如何做到自动化的性能优化?参见下面

 

Facebook 3 个前端优化框架

    Quickling ajaxifies the whole web site

    PageCache cache user-visited page in browser

    BigPipe pipelines website

 

Quickling
remove redundant work via ajax


 如上图,从首页跳转到图片 detail 页面,红框标示的部分,它们是不变化的,因此可以不用每次页面请求,都从服务器端生成这些内容,这也是 Quickling 的出发点(创新无处不在)

实现示意图:


 

PageCache

Cache visited pages in client side.

如下图,在用户访问 facebook 网站时,分析用户行为发现,一般情况下,用户会多次访问首页,因此可以 cache 第一次访问,后面的请求都从本地 cache 取数据即可。


PageCache 的实现有几个难点:

     实时更新

     Cache 一致性

      至于作者如何解决的,还是详细看他的 ppt 吧( http://velocity.oreilly.com.cn/ppts/ChanghaoJiang.pdf )。

 

BigPipe

Pipeline website


 如上图,为一般情况下,一个页面从服务器生成,到网络传输,最后到客户端渲染的过程。可见它是一个串行的过程。

Facebook 的工程师,经过分析,发现一个页面(如下图),可以分成许多 Pagelets ,它们间相互影响不大,可以拆开来分别加载。


 

BigPipe 后,页面加载的方式变为如下方式,这样可以有效改进用户感知的页面加载时间。


更多,也请查看作者的 ppt http://velocity.oreilly.com.cn/ppts/ChanghaoJiang.pdf

 

一些个人总结

    性能提升可以带来流量、带来收入

    前端性能优化很重要

    有专门的团队、专门的人在做

    人是最不可靠的,靠系统,靠自动化

    持续的做,不是三天打渔,两天晒网

 

 

资源连接

Boomerang Boomerang is a piece of JavaScript that you add to the bottom of your Web pages, where it measures page-load time, among other things, and beacons the results back to your server

http://developer.yahoo.com/blogs/ydn/posts/2010/06/performance_testing_with_boomerang/

Jiffy: http://code.google.com/p/jiffy-web/

SPDY http://www.guao.hk/tag/spdy

Page Speed: http://code.google.com/speed/page-speed/

WebP: http://code.google.com/speed/webp/

Speed Tracer: http://code.google.com/webtoolkit/speedtracer/

Web Inspector: http://trac.webkit.org/wiki/WebInspector

Dyna Trace: http://www.dynatrace.com

Velocity china pdf: http://velocity.oreilly.com.cn/index.php?func=slidesvideos

  • 大小: 90.4 KB
  • 大小: 153 KB
  • 大小: 50.9 KB
  • 大小: 30.3 KB
  • 大小: 24.2 KB
  • 大小: 222.2 KB
  • 大小: 35.4 KB
分享到:
评论
7 楼 cqwww 2010-12-16  
ericslegend 写道
SeanHe 写道
whaosoft 写道
倒是感觉 freemarker比这个好点是的...不知道大家什么感觉

此Velocity非彼Velocity -_-!

God!这都会和freemarker扯上关系



。。。。。。。。我理解有误,看来 -_-!
6 楼 lijingyao8206 2010-12-15  
感觉不错,虽然不能去会场但是还是看了些视频和pdf。速度确实是硬道理,尤其是应用的规模达到一定程度,数据存储,并发请求都上升到一定的数量级的时候。国内外的大网站大公司应该多交流,共赢和分享。这方面觉得国内做得不够,不过也在不断尝试和创新。希望TX这种大公司好好思考,开放……
5 楼 xiaoyu 2010-12-15  
这次北京,还是老外的公司共享的比较多, O'Reilly 和 Facebook , 国内的那些,不说了。。。。。
4 楼 csd_ali 2010-12-15  
O'Reilly 一直致力于帮助大家构建更出色的互联网。由 O'Reilly 和淘宝网合办的 O'Reilly Velocity China 2010 即是出于这样目标的会议,今年的主题是“与生俱来地快”。

网络公司无论规模大小都面对着同样的挑战──页面必须快,基础架构必须伸缩自如,网站和服务必须稳定可靠,还不能让团队手忙脚乱。O'Reilly Velocity 就是寻找答案最好的地方。在这里你可以向同行学习,和专家交换想法,分享和获得有关 Web 性能和运维的最佳实践和经验教训。

本次 Velocity 中国大会精英云集,会议 Steve Souders 和章文嵩博士邀请国内外著名公司的技术专家,分享性能与运维前沿技术的最佳实践,包括 Google、Yahoo!、Facebook、Youtube,同时国内互联网企业阵容也空前强大,除淘宝网外还包括阿里云、百度、腾讯、盛大、新浪、网易、凤凰网等诸多名企的技术专家确认出席。
构建更快速的 Web 应用

Velocity 会议向您提供优化 Web 页面的最佳实践,内容涉及网站前后端方方面面。即使您的网站已经优化,也同样会受益于此次会议,将使你的应用带来更出色的用户体验乃至改善你的公司的经营状况。

http://velocity.oreilly.com.cn
3 楼 ericslegend 2010-12-15  
SeanHe 写道
whaosoft 写道
倒是感觉 freemarker比这个好点是的...不知道大家什么感觉

此Velocity非彼Velocity -_-!

God!这都会和freemarker扯上关系
2 楼 SeanHe 2010-12-15  
whaosoft 写道
倒是感觉 freemarker比这个好点是的...不知道大家什么感觉

此Velocity非彼Velocity -_-!
1 楼 whaosoft 2010-12-15  
倒是感觉 freemarker比这个好点是的...不知道大家什么感觉

相关推荐

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。 Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护...

    velocity的jar包

    **Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网站内容。Velocity被设计成一个轻量级的、快速的、非侵入式的模板语言,使得开发者能够将HTML页面的展示...

    velocity插件

    【 Velocity 插件详解】 Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的...

    velocity为空判断

    这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....

    Velocity 和 FreeMarker区别

    ### Velocity与FreeMarker的区别 在IT领域特别是Java开发中,模板引擎是不可或缺的一部分,它们用于将数据模型转换为HTML、PDF、Word文档等格式。在众多模板引擎中,Velocity和FreeMarker是两种非常受欢迎的选择。...

    velocity所需的jar包

    `eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持的Eclipse插件,如Velocity视图插件,它能提供模板语法高亮和代码完成等功能,提高开发效率。 为了正确...

    模板:velocity和freemarker的比较

    Velocity和Freemarker模板技术比较 模板技术在现代软件开发中扮演着重要角色,而在目前最流行的两种模板技术中, Velocity 和 Freemarker 独占鳌头。在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity ...

    velocity的所有jar包

    2. **velocity-1.4.jar**:这是Velocity的主要库文件,包含了 Velocity Engine的核心实现。它负责解析模板,执行嵌入的Java代码,并生成最终的输出。版本1.4是一个较早的版本,但依然稳定且广泛使用。其中包含了许多...

    Velocity1.4

    Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity

    velocity入门使用教程

    Velocity是Apache软件基金会下的一个开源模板引擎,用于生成动态Web页面。它基于Java语言编写,可以被集成到多种Java应用程序中,如Java EE应用服务器和Java Web应用框架。Velocity模板语言(Velocity Template ...

    JAVAEE Velocity例子工程

    `JAVAEE Velocity例子工程` 是一个用于展示如何在Java企业版(JAVAEE)环境中使用Velocity模板引擎的示例项目。Velocity是Apache软件基金会的一个开源项目,它是一个轻量级的、基于Java的模板引擎,常用于生成动态...

    eclipse中velocity插件

    在Eclipse中集成Velocity插件,可以方便地进行Velocity模板的编写和调试,提高开发效率。 首先,让我们深入了解一下Velocity插件在Eclipse中的作用。Velocity插件提供以下功能: 1. **代码提示和自动完成**:在...

    eclipse编辑velocity插件velocitysite-2.0.8

    Eclipse编辑Velocity插件VelocitySite-2.0.8是一款专为Java开发人员设计的工具,旨在提升在Eclipse集成开发环境中编辑Velocity模板语言(VTL)的效率和体验。Velocity是一个快速、轻量级的Java模板引擎,常用于Web...

    velocity-1.7.jar

    Velocity由Apache软件基金会开发,是Apache Turbine项目的一部分,后来成为了独立的组件。在1.7版本中,Velocity提供了一种简洁、高效的模板语言,使得非程序员(如内容创作者)也能方便地修改页面布局,而程序员则...

    velocity的学习资料

    Velocity是Apache软件基金会下的一个开源项目,它是一个Java模板引擎,用于生成动态Web内容。Velocity在Web开发中常被用来生成HTML、XML、CSV或其他格式的文档,将内容和表现分离,让开发者专注于业务逻辑而不用关心...

    velocity和freemarker的比较

    标题“velocity和freemarker的比较”涉及到的是两个在Java Web开发中常用的模板引擎——Velocity和FreeMarker。它们都是用于将静态模板与动态数据结合,生成HTML或其他类型的文本输出,常用于MVC(模型-视图-控制器...

    Velocity

    Velocity源自Apache软件基金会,是Apache Jakarta项目的一部分,被广泛应用于各类Web应用和内容管理系统中。 Velocity的核心概念是模板语言,它设计的目标是易于理解和使用,同时提供足够的灵活性以满足复杂的页面...

    velocity web开发

    【标题】:“Velocity Web开发” 在Web开发领域,Velocity是一个非常重要的模板引擎,它被广泛应用于生成动态网页内容。Velocity由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。其设计目标是提供一...

    velocity官方工具包

    **Velocity官方工具包详解** Velocity是一款强大的Java模板引擎,它由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。Velocity的主要目标是将呈现逻辑从应用逻辑中分离出来,使得开发者可以专注于业务...

    velocity文档(Velocity1.4java开发指南中文版,Velocity1.4模板使用指南中文版中文版)

    ** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者将静态页面内容与动态数据分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。Velocity1.4 是该引擎的一个版本,发布于较...

Global site tag (gtag.js) - Google Analytics