博睿宏远研发副总裁程捷 - Web应用网络性能优化浅谈

2020-02-27 58浏览

  • 1.
  • 2.
  • 3.Web应用网络性能 优化浅谈 博睿数据 程捷
  • 4.Web应用网络性能 优化浅谈 博睿数据 程捷
  • 5.为什么要关注 Web应用网络性能?
  • 6.性能与业务息息相关 500 ms slower = 20% drop in traffic (Google) 100 ms slower = 1% drop in sales (Amazon)
  • 7.性能直接影响用户体验 0.1用户将不会注意到少于 秒的延迟 1少于 秒的延迟不会中断用户的正常思维, 但是一些延迟会被用户注意到 10延迟时间少于 秒, 用户会继续等待响应 10延迟时间超过 秒后, 用户将会放弃并开始其他操作
  • 8.现在 Web应用 长啥样? Average Bytes per Page by Content Type 数据来自:http://httparchive.org,Top1000,2016.12
  • 9.性能 与 带宽的关系
  • 10.
  • 11.Web应用 网络优化基本要点
  • 12.一道面试题 从用户在浏览器地址栏输入http://www.bonree.com到其完整看到页面,请从技术角度详细阐述这个过程发生了什么?
  • 13.浏览器内核工作流程 IE内核工作大致流程
  • 14.Web应用优化的核心关注点 网络层面 优化 终端用户 层面优化 应用层面 优化
  • 15.网络层面优化
  • 16.HTTP加载过程 HTTP下载流程 Blocked IE 内 核 准 备 等待可用的TCP连接、检查是否存在cache、申请必要的资源(内存等) DNSLookup 将域名转化成IP,如本身是IP或DNS缓存存在则无此操作 Connect 和解析出的IP地址所指服务器建立TCP连接 Send 将HTTP请求发送至远程服务器 Wait 等待服务器响应请求 UDP TCP Recv 接收数据 Blocked DNSLookup Connect Send Wait Recv
  • 17.rules for high performance network 尽可能减少DNS,每次DNS都需要一次网络往返,增加请求的延 迟,而且在查询期间会阻塞请求 开启DNS Prefetch,预先进行DNS加速页面加载,同时避免同域 下多元素并发阻塞 调整TCP的性能可以为服务端和客户端提供最佳的吞吐量和延迟。 然而,应用程序如何使用每一个新的或者已建立TCP连接,对性能 也有很大的影响
  • 18.rules for high performance network 再快也快不过什么也不用发送,发送尽量少的数据 不 能 让 数 据 跑 的 更 快 , 但 我 们 能 让 距 离 更 短, 使用CDN能明显降低RTT TCP连接复用是提高性能的关键
  • 19.应用层面优化
  • 20.rules for high performance web sites Make Fewer HTTP Requests Use a Content Delivery Network Optimize images Add Expires header (or Cache-control) Gzip Components Put CSS at the Top Move Scripts to the Bottom (inline too) Avoid CSS Expressions Make JavaScript and CSS External Minify JavaScript and CSS (inline too) Avoid Redirects Remove Duplicate Scripts Configure ETags Make AJAX Cacheable 摘自:https://developer.yahoo.com/performance/rules.html
  • 21.案例:尽量减少HTTP请求 对同一款热卖商品多图片 京东APP有近20个请求拉取所有相关图片,而淘宝APP则打成了4个zip 请求数比例:5:1,性能开销比例:7:1
  • 22.案例:图片优化 待优化图片 优化前字节(KB) 可优化字节(KB) 优化后字节(KB) 可节省百分比http://image.../vouch/20130716164258222.jpghttp://image.../vouch/20130701090032987.jpghttp://image.../vouch/20130722165105728.jpg246.116 180.578 131.428 103.369 65.008 49.943 142.747 115.570 81.485 42% 36% 38%http://image.../vouch/20130722165157950.jpg115.044 50.619 64.425 44%
  • 23.终端ISP层面优化
  • 24.主动监控LocalDNS缓存策略失效或 劫 持 , L o c a l D N S 缓 存 策 略 不 合 理, 导 致 C D N 失 效 从 而 页 面 加 载 很 慢, 甚至无法访问 主动监控页面链路劫持,页面加载 过程被强行插入多余请求,且这些 请求往往性能极差,导致页面整体 性能很慢 rules for Lastmile ISP 还有很多奇葩的情况...
  • 25.案例:某电商首页发生劫持导致性能下降 正常网址http://example.com/'>http://example.com/