您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 大型互联网站性能优化
大型互联网站性能优化自我介绍•产品技术部-中间件&稳定性平台-叔同•2010年加入淘宝,4年行业软件开发经验,3年互联网开发经验;对构建高性能、可扩展的Web应用十分感兴趣;目前在淘宝Java中间件团队从事性能优化相关的工作。:淘宝叔同:jlusdy•性能分析•软件升级•模板优化•最佳线程•JVM调优•二方包优化•外部调用优化•前端优化•构建分析系统分享内容性能分析–Ab•ab-c12-n20000localhost/market.htm–Httpload•http_load-rate300-seconds120item-urls•http_load-parallel40-seconds120item-urls–ApacheNginx分流•非幂等性请求–得到QPS/RT/页面大小/请求内存数–注意事项•Offline机器•避免本机压测•关闭Keepalive•关注系统表现性能分析•TProfiler•Btrace•VisualVM(RemoteEdition),Xming•OProfile/PerfGoogle-Perftools•OS•top,sar,vmstat,mpstat,iostat,netstat•JVM•jps,jstack,jmap,jstat•GC•Gchisto,PrintGCStats性能分析性能分析•页面模板渲染–Velocity–页面较大•外部调用多–DB,HSF,Tair,Search•磁盘读写少–Log–Vmcommon•QPS相对较低软件升级•Apache--Nginx–提升10%+•Jboss4--Tomcat7–线程池/NIO–提升10%-•JVM1.6.0_23--1.6.0_32•OS–32bit--64bit–内核升级提升40%•成本最低效果明显Velocity优化•Chartobyte提升100%•解析执行改编译执行提升10%模板优化模板优化•删除空行•删除多余空格•长URL压缩–List减小5%以上•用URL别名–List去掉http:头,减小1%•业务上去重•模板大小和QPS成反比–大小减少10%QPS提升10%最佳线程最佳线程•从CPU的角度计算:–并发数=((CPU时间+CPU等待时间)/CPU时间)*CPU数量•从堆内存的角度计算:–并发数=younggc/((小GC时间间隔/rt)*(requestmemory))JVM调优JVM调优JVM调优JVM调优JVM调优Youshouldtrytomaximizethenumberofobjectsreclaimedintheyounggeneration----TonyJVM调优•减少young晋升到old的对象–合理设置各个分区大小–SurvivorSpaceSize–TenuringThreshold–优化系统代码•及时回收对象•减少内存使用•减小页面大小•新生代占堆的30%-50%–新生代500M--2560MQPS提升70%JVM调优二方包优化•案例–Beancopy提升20倍以上•可以做一次不做多次–IP库提升1倍•可以提前做的提前做•不受业务影响,永久受益外部调用优化•并行HSF•并行搜索•合并外部调用•会降低响应时间,不会提升吞吐量•减少压缩解压–Tairclient•使用更优的序列化协议–ProtocolBuffers–Kryo比PB快20%其他优化•类中Field要排序–频繁使用的放一起–基本类型引用类型分开放•批量处理数组–按行处理不要按列可以快20倍•使用乐观策略•正确处理异常其他优化•动态资源静态化•后台依赖前台化–降低复杂度–提升性能•浏览器渲染页面–数据远小于页面的场景•善用缓存–整页缓存前端优化•Firefox–Firebug–YSlow–NetExport•Chrome–SpeedTracer–PageSpeed•Fiddler2•HttpWatch•dynaTraceAJAXEdition•WebPagetest/AolPageTest前端优化前端性能指标•开始渲染时间•Domready•可交互时间•首屏时间•onLoad前端优化减小响应大小•减小HTML–页面越小延迟越小–Gzip–HTML瘦身–减小Cookie大小•减小静态资源–最小化CSS/JS–优化图片前端优化HTML瘦身•移除空白•删除属性引号•避免行内样式•为JS变量设置别名–document.getElementById--$•使用相对的URL前端优化减少DNS查询•数量上平衡–多,DNS查询多–少,并发受限制•有些域名不推荐使用–img05~8.taobaocdn.com前端优化浏览器渲染优化•首屏优先–减少Dom数量•按需加载•次要信息异步化–多,请求数多–少,页面大•避免页面缩放图片前端优化淘宝版YSlow构建分析系统Alibench/CommonJS/NavigationTiming谢谢
本文标题:大型互联网站性能优化
链接地址:https://www.777doc.com/doc-3136494 .html