




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、搜搜前端架构与优化内容提要腾讯搜搜简介前端定义架构的演变前端演变与优化发展与展望搜搜简介推广直达区搜索结果新闻BOX搜索历史广告还在搜其它.直达区(Bingo)介绍搜索平台部 WEB开发组OH SUSE Linux公司统一部署容易维护统一的RPM资源区分WEB服务器与Cache服务器安全性MySQL流行 + 完善易用易维护M/SKW DBMemcached TTBDB/Redis/membase etc.P H P速度、速度、速度开发速度快学习成本低(C变种)运行效率好第三方库成熟(PEAR, PECL)社区庞大而活跃日趋成熟(OOP, namespace,闭包)SuperPHP / WinP
2、HPPHP开发框架实现MVC模式,结构清晰,使开发者只关注业务逻辑提供Auth、ACL、DB、ORM、Cache、Session、Util、Page等模块Apache稳定强大配置灵活mod_php5mod_rewriteMemcached用于存放缓存数据,供各APP使用稳定配置简单PHP扩展:php_memcacheAPI : get,set,increment,decrement,delete高效分布式接入示意图问题与挑战用户越来越多DNS不准?用户反映访问速度慢解决办法利用自有IP库自建智能DNS搭建测速系统问题与挑战单点故障转移周期长?缺少监控解决办法增加HA增加监控搜索请求处理示意图问
3、题与挑战响应时间经常超过1秒甚至2秒 (server端)Memcache timeout (1s)处理示意图Memcache扩展解决办法使用socket+Memecache协议读数据控制timeout在秒级以内(50ms)处理示意图Socket问题与挑战Bingo应用越来越多:天气、股票、NBA。Bingo交互变复杂,既“美观”又要“动”起来团队开始应付不过来网页版本迭代新的Bingo应用处理示意图Socket解决方案喊出敏捷口号业务拆分将网页搜索与直达区拆分直达区作为独立的业务架构变更bingo作为独立的服务网页并行请求搜索结果与bingo数据控制timeout&latency小组划分成立直
4、达区team(产品、开发、测试)架构变更心得体会用已掌握的技术解决问题,权衡稳定与激情(twitter)避免过度设计(摩尔定律)使用内存比使用磁盘来的爽的多RAM is the new disk!切分(水平、按功能)把工作负载分解成多个有能力驾驭的小单元,让每个单元都能维持良好的性价比问题与挑战(前台)业务增长用户bingo数量数据越来越多,内存吃紧Bingo越来越复杂,都要动起来团队合作成本高,编码规范缺失脚本管理混乱,复用性低,维护成本高代码冲突:bingo vs websearch解决方案制订代码合作规范+闭包样式规划,区分公共样式和不同app样式代码规划+重用选择一个脚本类库自行开发
5、PrototypejQueryYUIdojoExtQZFLSuperJS问题与挑战前端展现时间过长HTML table嵌套JS混乱、堆砌各bingo app间CSS冲突、低效解决方案问题:HTML table嵌套解决办法:优化页面结构2009年进行第一次页面大重构,历时一个多月问题与挑战网站页面性能形势严峻需要系统的进行优化一些数据:Amazon 慢 0.1 s - 1% 用户放弃交易 Google 慢 0.4s - 0.6% 放弃搜索Yahoo! 慢 0.4s - 减少 5%-9% 的流量Bing 慢 2s - 收入下降 4.3 %Baidu?用户速度体验的1-3-10原则Every mil
6、lisecond count !工 具 HTTPWATCH Wireshark FireBug Yahoo Yslow Google PageSpeed Fiddler .AOL Page Testonline version: IBM Page Detailer Pingdom WebKits Web InspectorSafari 4 Beta or WebKit nightly from Web Debugging Proxies, Pagetest - AOLFiddler - Microsoft ySlow YAHOO!参考书High Performance Web sitesEva
7、n faster web sitesAnd, learn from best practices.减少请求合并CSS合并spritesJavascript模块化拆分、合并动态载入压缩数据量GZIP对文本进行压缩(html/css/js etc)对非文本不压缩(gif/png/jpeg etc)Apache: mod_gzip/mod_deflate压缩比一般在50%70% 11697 bytes, gzip compressed to 4886 bytes ( 58.2 % saving ) 3641 bytes, gzip compressed to 1775 bytes ( 51.2 %
8、saving ) 4756 bytes, gzip compressed to 2134 bytes ( 55.1 % saving )Minify:CSS & JS工具YUICompressorGoogle Closure CompilerGoogle PageSpeed去掉无用的样式规划、优化cookie依然会节省,即使有gzipMinify html去掉注释及空白符省略特定标签闭合li,p,br etc去除 type=“text/javascript”, text/css etc.去掉可去除的引号使用短样式优化图片去掉额外的空白区域使用最优的文件格式JPG, 60 quality - 3
9、2K PNG-8, 256 colors - 37K GIF, 256 colors - 42K PNG-24 - 146K 使用CSS代替图片-moz-border-radius:4px;-webkit-border-radius: 4px;border-radius: 4px;经优化的PNG一般要比GIF要小使用Smush.itCache减少请求浏览器检查是否是最新的通过HTTP头控制Expires: Sat, 1 Jan 2011 20:00:00 GMTCache-Control: max-age=31536000设置过期时间为未来的某个时刻Cache : 减少请求数加速请求无阻塞加载JS分段输出(搜索前、中、后)预加载(图片、样式、脚本,页面片)按需加载脚本指定图片尺寸,以免reflowBrowscap / js / 条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程设计实训体系构建
- 2025药店收费合同示范文本
- 2025年珠海市个人房产交易合同
- 2025防火门购销合同范本
- 2025电商平台会员商务合作合同样本
- 2025年卡地亚物业管理委托合同
- 室内模型设计方案
- 高中历史教师课标考试模拟试卷附答案
- 2025中文贸易合同样本
- 手术室无菌技术护理查房
- 2025年人教版小学数学二年级下册期末考试卷(带答案解析)
- 西师大版小学五年级 数学(下)期末测试题(含答案)
- 化工工艺原理考试题库梳理
- 定金款管理制度
- 光伏电站安全培训
- GB/T 37027-2025网络安全技术网络攻击和网络攻击事件判定准则
- 2025年江苏南通苏北七市高三二模高考物理试卷(含答案详解)
- 2024年药理学考试真题回顾试题及答案
- 2025年军队文职(司机类)核心知识点备考题库(含答案)
- 2025年深圳二模考试试题及答案
- (一模)临沂市2025届高三高考第一次模拟考试生物试卷(含标准答案)
评论
0/150
提交评论