当前位置: 主页 > 网络架构 >

网站速度分析概述

时间:2013-05-05 16:39来源:www.itkoala.com 作者:itkoala 点击:
互联网产品被产品经理(PM)设计出来,然后前端工程师(FE)和研发工程师(RD)进行生产,由运营和销售推上市场,再由运维工程师(OP)和网络工程师(SYS)保持稳定运行,这四个
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


返回:海量运维、运营规划--linux网络架构规划首页
互联网产品被产品经理(PM)设计出来,然后前端工程师(FE)和研发工程师(RD)进行生产,由运营和销售推上市场,再由运维工程师(OP)和网络工程师(SYS)保持稳定运行,这四个环节都会对速度造成影响,所以速度监测、分析、优化是一个系统工程,涉及到的角色、人、环节非常多,详细如下图所示:

那如何进行全面有效的速度分析,进而开展速度优化呢,个人的体会速度分析着重对应以上四个环节即可:

1、设计过程,主要分析PM设计产品的功能或逻辑是否合理,例如登录QQ会弹一个mini新闻页,原来PM设计是打开新闻页后要轮循加载五个新闻频道页面,最后上线评估发现QQ同时在线>1亿,这样串行加载5个页卡需要额外添加50~80台服务器和消耗3~5G带宽,速度比原来慢4~5倍外,每年需要多花费约300~350万成本。

2、生产过程,主要分析FE网页制作及RD逻辑处理等是否合理,这两种角色决定了网页大小、元素数量、逻辑复杂度、后台响应和效率等,这些与速度是成正比的,网页越多大,速度越慢,例如分析baidu和soso同时检索“天气”这个关键字的时候,通过工具抓包发现baidu检索结果加载了27个元素、119KB内容,soso只有15个元素、75KB,如果在不考虑网络、浏览器因素的话,soso的速度肯定要比baidu快15%~20%。生产过程环节是影响速度的最重要的环节,前面的速度监测和后面会提到的分析工具、优化案例主要针对这一环节。

3、运行过程,主要分析产品上线后,编辑、运营及用户生产的内容对网页的影响,例如百度音乐,总页面900KB,但有一位编辑将一个60*40,但有400KB的图片上传到了首页,速度直线下降40%;例如百度tieba,一个贴子有大量用户产生的内容,平均一个贴子有10~30张图片,用户对上传的内容是没有感知的,通常数百KB,有时一张图片可以将速度拉下50%,经过图片自动优化后,每张图片在保持质量的情况下,一些大图的速度可以提升数倍。

4、访问过程,主要分析具有省份、区域、运营商等属性的用户访问产品叶,是否会存在网络、系统、应用性能等问题,例如百度2011年优化前存在7%DNS跨网解析、北京电信覆盖局限、BGP使用少等原因导致较竞争对手慢20%~30%;80%的产品线未使用CDN,静态应用通过CDN可提速20%~30%+,单百度商业产品可成本缩减2000万/年,2012年后经过优化,百度PC搜索、移动搜索、商业广告等产品线已经反超竞争对手,做到了业界最快。

通过百度搜索与腾讯soso的对比分析来帮助理解,通过分析两家公司检索结果速度,进而分析这两家公司在前端、系统、网络、网络的优劣,从而针对问题进行优化,案例分析如下:

一、概述

通过第三方基调网络,调用全国200个城市数万真实招募用户监测点,访问百度搜索、腾讯soso检索关键字“天气”,进而分析全国各省、各运营商用户的体验。

二、分析

1、元素分析,在页面大小相当的情况下,百度检索页连接数比腾讯检索页多出三分之一,JS数量多出一倍,页面越大越慢,JS是性能杀手,JS越多速度越慢。
 

监测任务 连接数(个) Size(KB) Js(个/KB) Images(个/KB) 静态占比
baidu.com 25 86.2 8/53.6 14/21 86.5%
soso.com 18 76.3 4/29.6 10/29.8 85.2%

2、趋势分析,baidu电信“总下载时间”平均慢40.8%,联通平均慢17.1%,可以看出这是百度电信、联通IDC都在北京的结果,腾讯全国五大区域都有IDC,速度明显有优势。

电信

联通

3、总下载时间和运营商分析,baidu主要运营商(电信、联通、移动、教育网)“总下载时间”平均慢三分之一,主要受内容下载时间拖累,小运营商全面慢于腾讯。

4、区间分析,5s<“总下载时间”<10s的样本中,“内容下载时间”平均占“总下载时间”的76%,是造成慢速比的主要原因,慢速省份主要分布在华东、华南电信大省。
 

总下载时间区间 电信 联通
baidu.com soso.com baidu.com soso.com
样本数量 比例 样本数量 比例 样本数量 比例 样本数量 比例
0~5 秒 6488 91.10% 6937 95.60% 2097 88.70% 2070 93.00%
5~10 秒 520 7.30% 308 4.20% 229 9.70% 139 6.20%
10~15 秒 101 1.40% 1 0.00% 32 1.40% 9 0.40%
大于15秒 10 0.11% 9 0.10% 5 0.20% 9 0.40%

5、区域、省份分析,baidu电信、联通大省“内容下载时间”平均慢于soso 20%~40%。
 

电信区域 电信省份 占电信总比例 baidu soso baidu比soso慢的百分比
内容下载时间 样本数量 内容下载时间 样本数量
华东 上海 4.80% 1.409 10 1.252 82 12.54%
江苏 9.72% 1.497 636 1.252 600 19.57%
浙江 9.53% 1.44 826 1.111 831 29.61%
湖北 4.39% 1.394 455 1.247 434 11.79%
华南 湖南 4.10% 1.556 717 1.325 673 17.43%
广东 22.91% 2.531 3323 1.778 2792 42.35%
广西 3.17% 3.435 482 1.554 478 121.04%
西南 重庆 2.34% 1.884 321 1.413 347 33.33%
贵州 1.86% 2.724 13 1.36 67 100.29%
西北 陕西 4.13% 1.665 365 1.134 394 46.83%
总计 66.95% 2.063 7484 1.422 7627 43.48%

联通区域 联通省份 占联通总比 baidu.com soso.com baidu比soso慢的百分比
内容下载时间 样本数量 内容下载时间 样本数量
华北 河北 11.44% 2.566 977 1.994 758 22.29%
山西 5.48% 1.432 150 1.012 161 29.33%
辽宁 7.59% 2.498 711 2.44 588 2.32%
吉林 3.96% 2.179 68 1.282 68 41.17%
山东 14.94% 1.759 55 1.366 81 22.34%
河南 12.07% 3.829 9 3.351 18 12.48%
平均/汇总 56.11% 2.377 1970 1.908 1674 19.76%

三、结论

百度检索关键字“天气”全国主要省份及运营商速度比竞争对手腾讯soso慢20%~40%。

四、问题及优化建议
 

问题 问题分析 优化建议 预计收益
网页元素 Baidu连接数比soso多7个(多39%);内容大9.9KB(大13%);Js多4个、大24KB(数量多100%、大81%)。连接数、内容越小速度越快,Js是串行加载,每一个都影响速度 重点合并和优化Js,减少Js、图片数量和大小;连接数和内容最好小于soso 理论上连接数和内容减少的比例与速度提升比例成反比,可以帮助将差距减少5%~10%
CDN分布 Soso静态根据省用户分布使用54个CDN节点,联通19个,电信29个,移动3个,教育网3个,最大限度电信、联通省内覆盖,移动、教育网区域覆盖。baidu只有北京电信、联通,而且成本高出2~3倍 静态实现自建CDN+第三方CDN全国省内覆盖,电信、联通重点省份实现市级覆盖,移动、教育网实现区域覆盖;静态速度超过soso=整体速度快过soso Soso快在静态“内容下载时间”少,主要受益CDN分布与策略,CDN可以帮助将差距减少到10%以内
IDC覆盖 soso动态电信华东、华南、西北区哉IDC覆盖,专线互通,与电信用户就近接入。Baidu只有北京电信联通覆盖 动态实现华东、华南覆盖、互通(或代理) 成本大,收益小(因北京单IDC覆盖较强与soso深圳、上海、西安相比差距不悬殊,加上动态平衡计算时间、跨区域传输等原因,整体收益小)
内容拆分 soso静态与动态内容做拆分,并且使用最合适架构;baidu静态与动态混用在apache下并互联影响 将静态进行剥离,使用最优静态架构、服务器和OS配置(退役旧设备);动态做域名数量收敛 只有将静态拆分才可以做到CDN、域名拆分、OS、Web server优化等最大收益
域名拆分 soso启用非soso.com域名qstatic.com隔离Cookie,同时使用cache.soso.com配合规避浏览器并发限制,两个域名同时使用全国CDN加速,baidu静态受Cookie、浏览器并发限制 启用非baidu.com域名,如bdimg.com,启用两个二级域名i1.bdimg.com/i2.bdimg.com专用于静态内容,隔离Cookie,规避浏览器并发限制 静态文件数越多,收益越大,文件数>50个,速度提升5%~10%
Web server soso动态使用定制server,静态自研或第三方自研server,baidu主要是使用apache 自研或定制高负载、高并发下性能优越于apache的Web server,腾讯自开发的静态Web server TWS、CWS,在高负载状态下性能卓越且稳定 海量业务有百益无一害,特别针对文本(html、js、css)可做二次压缩输出,速度提升5%左右
 

转载请注明linux系统运维
http://www.linuxyw.com/linux/wangluojiagou/20130420/60.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片