`
michaellou
  • 浏览: 54648 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

QQ.com速度优化解决方案介绍

阅读更多
QQ.com速度优化解决方案介绍
摘要

    QQ.com门户经过5年时间的发展,已经成为国内流量最大的门户网站,在“大回想、大影响”的战略下,QQ.com影响力得到用户的积极认可。
   2008年9月,网站部和O线成立了QQ.com优化联合项目组,对QQ.com的速度进行优化。项目组针对QQ.com特点,系统化地从多个层面推动优化工作:产品、内容、技术、合作、工具和流程等等,并建立了持续优化机制。在优化技术方面做了一些探索和创新。至09年6月,QQ.com速度在四大门户排列第一,用户体验得到明显改善。用户口碑得到提升。

1.     优化方案简介
(1)    建设定制化、实时、易于接入的测速平台。测速是优化成功的必要条件

(2)    应用业界和其他兄弟部门的最佳实践,进行全面和深入优化

(3)    根据网站部的业务特点,有针对性的优化、创新优化

(4)    优化是系统性工程,不仅仅是优化技术,还有产品面的优化、内容面的优化、部门间合作、工具建设等等

(5)    关注持续优化,保持劳动成果。通过常态优化团队、工具化、流程化达到持续性优化

2.     开始优化
万事开头难,如何开始工作是一个难题。08年9月,首先网站部和O线成立了QQ.com优化联合项目组。目标是将QQ.com的速度优化到业界前列的位置。优化团队的成员刚开始的时候没有网站优化方面的经验,或者只有后台优化的经验。这段时间,我们做的主要工作为:

(1)       了解网站优化技术。找公司的其它已经有优化经验的部门取经,了解他们的优化方法和过程。从Qzone学习到了测速工具的重要性,还有就是yahoo的优化规则的成功运用。对yahoo的优化规则的理解也让我们的关注重点从传统的后台优化转到以前台优化为重点。

(2)       对网页进行测速。测速是进行速度优化的最基本的条件。所以第一步做的工作就是加入测速功能。架构部已经建立了一个测速平台:http://Coss.oa.com/pagespeed.html 。项目组将QQ.com首页接入了测速平台。开始监控首页的速度情况。由于门户网站有很强的可对比性。因此测速的另一个工作就是接入基调公司的测速数据,同时监控了QQ.com、新浪、搜狐、网易的首页的速度。这样可以随时了解与竞争对手的对比状况。项目组开始每周发一个QQ.com用户体验周报给各位相关人员以及相关领导。方便大家时刻了解QQ.com状态以及项目组的进展情况。

(3)       开始页面分析工作。分析工具有YSLow,HttpWatch,Firebug等等。分析中发现,QQ.com首页请求很多,总共有141个,而速度比较好的sohu的首页只有78个请求。经过初步的分析,我们将首期的优化方式定在减少请求数上。并且做了一个请求分析工具,用于统计网页请求数,将请求数分类。结果分析,发现16个广告位却产生了51次请求,有比较大的优化空间。因此广告成为了首期优化的重点。

(4)       开始首期优化工作。这段时间的优化工作主要有:

优化点
优化手段
效果

广告改造
改造广告系统,合并请求
减少34次请求

页卡内容延迟加载
初始页面不加载页卡内容,当用户浏览页卡的时候再加载
减少17次请求,同时减少了30%的页面内容

素材图片合并
利用CSS Image Sprites功能合并小图片
减少9次请求

Ping.js改造
精简代码,更换位置
缩减文件大小

2个天气js改造
移入主页面
减少一次请求

股票指数
延迟加载
减少拖页面的可能性

拍拍js改造以及素材合并
Js代码精简,素材使用网站部统一的服务器
减少请求数,减少页面大小

搜索js改造以及素材合并
Js代码精简
减少1次请求,减少页面大小


经过这些优化,请求数降低到100以下,速度有了几秒的提升。

3.     优化技术
3.1. Yahoo 34条优化规则的运用
Yahoo的网站优化规则从最开始的14条已经扩展到34条。从应用实践来看,这些规则具有很强的指导性和很高的优化价值。QQ.com大部分的优化技术都是这些规则的运用。

如:

l         首页各个tab中的图片新闻,控制了大小,内容图片 8k限制,原来没有规范,一个115×70的图片有时候达到20-30KB。

l         除去了js参与页面初始化的代码。修改为当侦听到鼠标动作时再触发js

l         搜索js,天气js等的改造,去除冗余代码,延迟到首屏后加载

l         首屏中,去掉一个iframe,此iframe中还包含2个请求,直接使首屏时间下降将近1秒

l         Js往往可以得到很大的压缩量。评论系统,原来js超大-6个文件,100k左右的js内容,还占用一个iframe,改造后去除iframe,缩小到1个js,大小10k左右

l         页面布局:div和table布局对页面渲染有很大的区别。尽量采用div布局。

l         减少页面404错误。由于网站部的网页变化很快,这里我们制作了一个扫描工具定期扫描404错误

l         缓存设置:

n             服务端缓存和本地缓存;

n             图片、素材、js/css、flash等静态文件都应该设置长时间(周、月、年)的缓存,降低页面请求数。

l         gzip设置:文本文件(包括html、js、css等)都应该设置gzip压缩,基本可以减少70%的网络数据传输大小。

l         Etags设置:当服务由多台服务器提供时,去除web服务器的Etags设置。

l         根据测速结果对IDC分布进行优化调整,加强CDN应用;



3.2.      首屏优化的创新
QQ.com优化有一个创新就是首屏优化,比较好地解决了大页面的速度体验问题。

网站部的网页特点是许多页面有十几屏长,无论如何优化,全部加载时间也不会太短。实际上QQ.com在2个Q的时间里花6个阶段优化,页面全部加载完也会在8-15秒左右,这个总体加载速度对于用户来说,还是很慢的。因此将首屏快速呈现给尤其重要,最快速度显示页面的首屏内容,可以给用户非常好的体验。实践中,首屏可以优化到0.5-2秒,几乎立刻可见和可点击,大大提升了用户体验。

首屏优化的方法:

(1)       定义首屏:一屏大小,最长900像素

(2)       首屏测速:在首屏位置插入首屏测速代码

(3)       有针对性的优化首屏:布局块的大小不要超过首屏;将拖延时间的内容放到首屏后执行或加载,如ping.js代码、搜索js, 天气js等等。这样可以有效地缩短首屏的时间

经过首屏专门优化,QQ.com首屏优化结果。现在基本在1.5s左右,显示迅速。各频道底层页的首屏也在0.5-2秒之间。用户体验效果改善明显。

全国用户访问QQ.com首屏延时图

4.     Cookie隔离
由于历史原因,QQ.com上存在的Cookie比较多,大小有500B-2K。以前qq.com所有的网页元素都使用qq.com域名,每个请求都带了cookie。对网站性能有不少影响。以下的表格为Cookie大小对网络延迟的影响:

Cookie大小对网络延迟的影响

对于图片和素材来说,Cookie是多余的,因此采用非qq.com域名的图片和素材服务器(gtimg.com),可以有效地隔离cookie。

Cookie隔离后,图片服务器延时由原来0.63秒降到0.43秒,速度提升32%。素材服务器延时由原来的0.46秒降到0.35秒,速度提升24%.  同时上行流量减少20%

5.     页卡的按需加载
QQ.com首页上使用了不少页卡,如下图所示。每个页卡里隐藏了一些内容。当用户鼠标Mouse Over的时候,该页卡的内容会被显示出来。平时,页卡的内容是隐藏的。

针对于这种情况,我们对页卡的内容做了按需加载。平时,页卡的内容没有下载,只有用户Mouse Over的时候,页卡的内容才被下载,并呈现给用户。如果该内容已经被下载,则内容被直接呈现给用户。

由于单个Tab内容很小,加载快速。用户访问Tab内容没有感觉到和以前有什么差别。

QQ.com首页上有17个隐藏Tab页改为按需加载,减少了30%的内容量以及16张图片请求。

6.     度量工具--测速平台
度量工具是速度优化成功的必要条件,是“优化之眼”。没有眼睛,优化工作就无从做起。

测速方法:在页面最顶部加入测速js脚本,记录下页面开始时间,然后在页面中首屏和其他自定义监测点也记录相应时间,页面加载完全之后,脚本会将记录的多个时间点发送给服务器进行统计分析。

项目前期采用架构部的测速平台,以及第三方测速系统(基调),这样可以快速开展工作。

项目后期针对网站部的业务,开发了定制化的测速平台。主要有以下特点:

(1)       定制化报表和数据,可以在一个页面里看到网站部所有业务的速度情况,并用颜色表示是否达标,直观易用

(2)       快速接入能力,几个小时就可以接入新业务

(3)       实时测速数据,5分钟采集一次实时数据

(4)       更方便易用

测速平台在整个优化过程中发挥了巨大的作用,在度量、沟通方面是一个有力的工具。同时也是一个很好的运维工具。当系统有故障时,可以迅速定位出故障区域。

全国速度实时视图

各业务用户速度访问一览表,一目了然

7.     优化是系统化工程
QQ.com的优化是一个复杂的系统,而且涉及到多个部门的合作。QQ.com的优化不仅仅是Web优化技术问题,而是一个复杂的系统工程。只有系统化地处理好各个方面的工作,才能够进行深度优化,并保持持续优化,保持工作成果。

(1)       技术上涉及到多个系统的协作优化:页面、QQ.com后台服务系统、CDN、发布系统等等

(2)       QQ.com上集成了多个部门的应用,优化过程中需要进行跨部门合作,对其他部门的应用也需要优化

(3)       部门内涉及到内容线的工作。需要编辑的配合才能进行更好地优化

(4)       工具平台建设

(5)       流程规范建设:流程规范建设可以将优化工作常态化、固化到日常工作中,保证工作成果得到延续

合作:

(1)源于Q首优化的广平部磐石计划,对首屏速度及整页速度贡献较大;

(2)与SOSO、拍拍、财付通合作页面的优化改进;

(3)推动第三方合作公司页面优化,包括易车、Stats、欧洲体育等合作公司页面的优化;

(4)与网站部20多个频道、8个技术开发小组配合对频道页面及基础产品进行深入优化;

工具平台建设:

(1)打造定制化、实时、易用的质量监测平台,指导优化高效推进;

(2)发布系统配合完成图片压缩、页面检查、Cookie隔离等优化措施;

(3)ITIL平台从设备监控、业务监控、容量管理等多个系统,从各个方面为优化项目提供数据支撑和优化辅助作用;

(4)结合PGV2的热点分析等功能,为页面内容优化调整提供数据依据;

规范流程建设:

(1)频道改版流程加入优化审核步骤;

(2)新产品上线流程加入优化审核步骤;

(3)第三方合作流程加入优化审核步骤;

(4)制定《频道页面维护优化规范》,细致指导编辑日常页面维护;

(5)频道优化接口人制度,保证优化工作规范流程的执行;

(6)针对频道编辑、开发的多场大型优化培训;

8.     持续优化
QQ.com的页面时刻处于高度变化过程中,每天新闻页面就会更新10000多个。一年会推出1000多个活动。各个页面的版面也处于不断地调整中。广告、搜搜等合作部门的系统也经常变化。这里的任何变化都有可能影响到页面速度的变化。因此如何保持优化成果,进行持续优化是必须要关心的问题。

我们从四个方面保证持续优化:

(1)       专业的优化小组:优化专业高手、前台高手

(2)       流程化:将优化工作固化到流程中:已建立多项流程并实施

(3)       工具化:便捷、易于接入的测速平台。随时了解业务的速度状况;各种辅助工具:图片自动压缩、页面分析工具、ITIL、PGV等等

(4)       培训:对开发组、内容线进行培训,提高用户体验意识,传递优化方法

9.     快速优化
网站部产品线比较长,现有总共70多个产品,大的产品也有十几个。页面的种类加起来就有成千上万个。因此打造快速优化能力对于网站部优化团队来说也是非常重要。快速优化能力主要来自这几点:

(1)专业的优化小组

(2)便捷、易于接入的测速平台

(3)已经积累的优化经验

新业务快速优化过程:

第一步:加入测速代码,几个小时到1天内完成

第二步:优化小组分析新业务的页面,1天内出分析结果

第三步:一般几天内可以有优化成果

以后:关注测速结果,持续优化

10. 优化成果
   QQ.com首页速度在四大门户中排行第一;

    Gomez中国门户用户体验排行从第14位上升至第3位;

    QQ.com频道首页及底层页首屏速度全部<2S,首屏速度较优化前提升50%-70%,整页速度较优化前提升20%-40%。

迷你首页优化节省1.5G带宽,节省费用180万/年

压缩图片,节省20%带宽,省费用2G,节省费用200万/年

    建立了一系列的流程规范来保证优化成果长久保持和持续进步;

    建立了质量监测平台等一系列工具平台保证优化的高效推进和监控;

  

各门户首页整体打开速度

各门户首页首屏打开速度
分享到:
评论
1 楼 56553655 2012-07-17  
很好的优化经验,值得借鉴

相关推荐

    Simerics热流体问题仿真解决方案 .pdf

    换热器CFD分析解决方案 采用面向工程开发的CFD软件Simerics可以解决上述换热器仿真问题,其具备的优势如下: Simerics基于二叉树方法的笛卡尔网格技术非常实用于模型复杂的换热器,Simerics利用最小网格尺度控制,...

    快乐交易游戏装备交易系统

    帮助:提供网站常见问题解决方案。8. BtoC支付由于在线支付需要银行等机构提供有偿接口,本系统现在只提供一个界面,直接提交到数据库,管理员登陆后台查看即可。真正的支付还需银行转帐和邮局汇款。9. 强大搜索...

    网吧维护技术资料 合集

    9828 网吧维护\资料\WINDOWS出错信息解析及解决方案.TXT 336 网吧维护\资料\WINDOWS的文件夹里的程序.TXT 19067 网吧维护\资料\WINDOWS蓝屏代码含意速查表.TXT 93 网吧维护\资料\WINDOWS隐藏启动文件位置.TXT 9324 ...

    亿达企业管理网站V9.0

    其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、...

    GlaryUtilities 中文无广告版 世界老牌系统维护军刀百宝箱

    Glary Utilities 一站式电脑优化解决方案。它允许你清理系统垃圾文件,无效的注册表键值,上网记录,管理和删除IE插件,分析磁盘空间使用情况,查找重复文件,优化内存,查找、修理或删除快捷方式,管理windows启动...

    南方数据企业网站管理系统 v18.0.zip

    七、其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。  八、会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与...

    协通XT800服务端 v5.2.0.zip

    五、解决方案:(大型企业参考:协通XT800远程服务平台)。 1、可批量快速部署被控端、设定运维流程、指定运维关系、客服和客户管理、群发消息广播,增加便捷性和可控性。 2、快速部署的XT800远程助手版:可一键求助...

    grub4dos-V0.4.6a-2017-02-04更新

    使用 bootlace.com 安装 grldr.mbr 到 gpt 分区类型的设备。 2014-09-02(yaya) 1.ext4 分区支持 64 位功能,支持元块组。 2.grldr头部、grldr.mbr 支持搜索 gpt 分区的 grldr。 3.修正了 bootlace。 2014-08-...

    酷纬企业网站管理系统Kuwebs 3.0 双语版.zip

    酷纬企业网站管理系统Kuwebs是酷纬信息开发的为企业网站提供解决方案而开发的营销型网站系统,后台采用PHP Mysql架构,内置企业简介模块、新闻模块、产品模块、图片模块、下载模块、在线留言模块、常见问题模块、...

    协通XT800免费远程控制软件 v5.0.4 企业版.zip

    六、解决方案:(大型企业参考:协通XT800远程服务平台)。 1、可批量快速部署被控端、设定运维流程、指定运维关系、客服和客户管理、群发消息广播,增加便捷性和可控性。 2、快速部署的XT800远程助手版:可一键求助...

    LvBBS 94KK美化加强版

    可选使用头像还是QQ秀作为头像 141.上次访问新帖功能 142.查看自己所发帖子,所参与的帖子 143.积分制度,帖子被设置精华,置顶将增加积分。 144.引用回复时,在页面下方显示引用内容 145.主题...

    KODExplorer 芒果云-资源管理器

    `商业版授权请联系:kalcaddle#qq.com` #### 1.是什么: - Kodexplorer为千帆网络工作室开发的一款服务器文件管理程序。 - 完美取代FTP管理:可用于服务器文件管理,zip解压缩 备份还原、支持图片、音乐、视频预览...

    94KKBBS v1.19 简体中文版

    可选使用头像还是QQ秀作为头像 [141].上次访问新帖功能 [142].查看自己所发帖子,所参与的帖子 [143].积分制度,帖子被设置精华,置顶将增加积分。 [144].引用回复时,在页面上方显示引用内容 [145].主题性质选择 ...

    KesionCMS v9.5.140605 免费正式版(gbk).rar

    KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.5采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布...

    中国分类信息网源程序

    本分类信网程序基于ASP+Access技术开发的分类信息程序,是经过多年的经验积累,完善设计、精心打 &lt;br&gt; 造的适用于各种服务器环境的安全、稳定、快速、强大、高效、易用、优秀的网站建设解决方案。采用人性化的...

    快打折淘宝客折扣系统(免API采集) v3.0 免费版.zip

    一、解决淘宝客API新规限制,包含淘宝客采集功能,内置强大多任务采集插件,内置9.9/19.9元包邮等多个采集规则,用户也可以自定义采集规则,多种采集方案。包含宝贝商家,宝贝详情,宝贝评论等等都可以采集。无人...

    近乎v5.0源码 Almostv50.rar

    源码版安装之前,请使用Vs2015或以上版本以管理与身份打开项目, 您需要重新生成解决方案(管理员身份打开项目),安装版不需要重新生成解决方案 1.登录您的服务器,建立或者选择一个目录,将安装包./web 目录中的...

    大商创 最新V1.2大数据版多用户商城系统,PHP源码 支持多城市+多仓库+商家入驻+wap端+Memcache+OSS存储功能

    大商创提供整套多用户多城市多仓库解决方案,采用自营平台与入驻商平台共存;采用了全新的架构设计,将ECSHOP原有的一些缺陷进行了大幅度的优化,使得系统在使用过程中更加便捷快速,冗余度大大降低,运行速度提升40...

    电脑 快速还原4.2

    启用 NVIDIA RAID 解决方案就需要安装 NVIDIA IDE SW 驱动程序。如果您要在新的 Windows 操作系统上安装 NVIDIA RAID,就必须制作一个包含 NVIDIA IDE 驱动程序的软盘,以便安装 NVIDIA RAID。 在大多数情况下,您...

    KesionCMS v9.5.140605 免费正式版本(utf-8).rar

    KesionCMS是漳州科兴信息技术有限公司开发的一套万能建站产品,是CMS行业最流行的网站建设解决方案之一,V9.5采用ASP ACCESS/MSSQL架构,系统具有极强的可扩展性,并且一直以来完全开放源代码;这套系统自2006年发布...

Global site tag (gtag.js) - Google Analytics