- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
为速度而生
——看百姓网如何优化网速
panxiaoliang@
百姓网概况
国内领先分类信息网站5000万动态请求/天
高峰1300次动态请求/秒50台在线服务器
南北两个机房
30名员工
10名技术人员
2
百姓网有多快?
* 来自北京时间2011年3月30日晚21:30 Alexa数据
3
优化之路
先交学费
对网速优化的理解
前端优化
后端优化
网络优化
4
先交学费:ETag
5
第一次访问
GET /image/baixing.gif HTTP/1.1
HTTP/1.1 200 OK
ETag: 10c24bc-4ab-457e1c1f“
6
第二次访问
GET /image/baixing.gif HTTP/1.1 If-None-Match: 10c24bc-4ab-457e1c1f
HTTP/1.1 304 Not Modified
7
ETag是根据什么得出的?
Apache默认设置:inode-size-timestamp
inode-size-timestamp inode-size-timestamp
8
ETag去掉,流量减半
9
补课
10 * 图书图片取自
页面渲染的过程
发送请求 等待响应 接收下载
11
我们对于网速优化的划分
前端
秒级别
涉及请求数,CSS,JS,图片以及页面布局部分
后端
毫秒级别
涉及代码优化,执行效率
网络
毫秒级别
涉及机房选择,CDN等网络相关内容
12
前端优化
13
优化容易,持续优化难
14 图片取自: /bbs/viewthread.php?tid=33856page=1
持续优化要解决的问题
如何监控前端呈现速度?
如何收集最终用户的数据?
15
如何前端监控?
Page
Load
Render DOM
Start Ready
16
JavaScript记录时间
header
script type=text/javascript
var start = new Date().getTime();
window.onload = function(){
var time = new Date().getTime() - start;
alert(time);
}
/script
...
17
如何统计真实用户数据?
Event Tracking
/apis/analytics/docs/tracking/eventTrackerGuide.html
18
用Google Analytics记录时间
header
script type=text/javascript var start = new Date().getTime(); window.onload = function(){
var time = new Date().getTime() - start;
_gaq.push([_trackEvent, RenderTime, ViewAd, , time]);
}
/script
19
...
在Google Analytics上查看数据
20
前端监控的一些发现
0.2s 下载HTML
0.5s Google Analytics统计
0.7s
1.0s
页面加载
新开页面
21
后端优化
22
用Cacti监控重要页面速度
23
用xhprof来找到算法瓶颈
/package/xhprof
优化搜索和数据库的问题
查询压力的分布会随着业务变化而变化
真实环境的压力难以复制,追溯很难
25
解决方案:在线记录慢查询
$dbSlowLogger = new SlowLogger();
$dbSlowLogger-start();
$this-result = mysql_query($this-sql, $this-connection);
$ms = $dbSlowLogger-stop();
if ($ms 499)
$dbSlowLogger-log(lib_db, $this-sql);
26
用Cacti来显示慢查询
27
让数据可见
28
后端优化总结
寻找瓶颈所在
在线记录慢查询
可视化性能问题
29
网络优化
30
从CDN开始
静态CDN对静态内容优化非常有效
动态CDN对动态内容的优化有限
选个好机房才是根本
31
如何选择一个好机房
要让网站用户帮我们来挑选
具体方法:监控从机房下载一张标准图片的时长
32
如何获得标准图片的时长
var url = http:// + testHost + /test.jpg? + Math.random();
document.getElementById(tsp).innerH TML = img src= + ur
您可能关注的文档
最近下载
- 2017年版2020年修订高中课程标准培训《高中体育与健康课程标准的继承、创新与发展》.ppt VIP
- N2010色谱工作站说明书.doc VIP
- 2017年版2020年修订高中课程标准培训《基于学科核心素养的高中体育与健康教学改革》.ppt VIP
- 涂塑钢管焊接施组方案.pptx VIP
- TCECS1179-2022 预铺防水卷材应用技术规程.pdf VIP
- 普通高中体育与健康课程标准2017年版2020年修订解读与培训课件.pptx VIP
- 2025届高考数学复习 解析几何 备考策略课件.pptx
- 仪表实操题集.doc VIP
- 2023年煤矿企业安全生产管理人员考试题库.pdf VIP
- 【总结】水利工程建设监理工作总结报告..docx VIP
文档评论(0)