失效链接处理 |
大型网站性能优化实战从前端网络CDN到后端大促的全链路性能优化 PDF 下载
转载自:https://download.csdn.net/download/sinat_35445881/11002699
本站整理下载:
版权归出版社和作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/26484045.html
相关截图:
资料简介: 性能是大型网站的一个要素,影响性能的因素非常多。本书由三位熟悉不同领域性能优化的技术专家打造,从大型网站的整体体系出发,讲述大型网站性能优化的全链路实践过程,包括核心原理、常见策略与实战案例。具体内容包括:基于用户体验的性能优化要素、前端性能优化、网站性能分析、服务端性能优化、TCP优化、DNS优化、CDN优化、大型网站性能监控体系、大型网站容量评估、高性能系统架构模式、大促保障体系、数据分析驱动性能优化。本书的初衷就是将实践分享给读者,为其展示一个性能优化相关知识的全貌。书中的很多性能优化方法和策略都是作者从实践中总结出来的,实用性非常强。本书既可供入门者了解大型网站性能优化所有的相关技术,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。 资料目录: 第1章 基于用户体验的性能优化要素 1 1.1 页面用户体验的要素介绍 1 1.2 白屏时间 3 1.2.1 白屏时间的重要性 3 1.2.2 白屏过程详解 4 1.3 首屏时间 10 1.3.1 首屏时间的定义 10 1.3.2 首屏时间的重要性 11 1.4 页面整体加载完成 15 第2章 前端性能优化实战 16 2.1 延迟渲染 16 2.1.1 挑战和困难 17 2.1.2 解决方案 17 2.2 SEO Ajax 20 2.2.1 挑战和困难 21 2.2.2 解决方案 21 第3章 网站性能分析 24 3.1 快速了解网站性能 24 3.1.1 使用YSlow进行性能分析 24 3.1.2 使用PageSpeed进行性能分析 25 3.1.3 使用WebPagetest进行性能分析 27 3.2 真实用户前端性能监控 29 3.2.1 真实用户前端性能数据采集 29 3.2.2 数据采集可行性分析 30 第4章 服务端性能优化 36 4.1 最大QPS推算及验证 36 4.1.1 RT 37 4.1.2 单线程QPS 38 4.1.3 最佳线程数 38 4.1.4 最大QPS 39 4.1.5 实验数据验证公式 44 4.1.6 压力测试最佳线程数和QPS的临界点 47 4.2 同步模型与异步模型 49 4.2.1 同步模型 49 4.2.2 异步模型 50 4.2.3 为什么异步模型需要的线程数少 58 4.2.4 两个模型的对比及异步模型适用场景 59 4.2.5 小结 60 4.3 数据结构对性能的影响 61 4.3.1 HashMap的问题 61 4.3.2 HashMap的结构 62 4.3.3 碰撞 64 4.3.4 Hash算法 65 4.3.5 题外话:ConcurrentHashMap中的Hash 72 4.3.6 HashMap综述 73 4.3.7 均摊 74 4.4 算法设计不合理带来的性能问题 78 4.4.1 某应用A的现象 78 4.4.2 某应用B的现象 78 4.4.3 分析 79 4.4.4 方案 81 4.4.5 验证 82 4.4.6 小结 86 4.5 综合案例:电商活动页面性能优化 86 4.5.1 第一轮:通过APC使QPS提高近3倍 86 4.5.2 第二轮:解决消耗CPU资源大户Gzip 92 4.5.3 小结 105 第5章 TCP优化 107 5.1 TCP传输原理 108 5.1.1 TCP传输的简要说明 108 5.1.2 滑动窗口——接收端流量控制 108 5.1.3 拥塞窗口——发送端流量控制 109 5.1.4 传统TCP拥塞控制问题 110 5.2 Linux内核升级中的TCP优化技术 110 5.2.1 调整接收窗口 111 5.2.2 初始拥塞窗口调整(Linux 2.6.38开始支持) 111 5.2.3 Early Retransmit(Linux 3.5开始支持) 112 5.2.4 初始RTO调整(Linux 2.6.18开始支持) 114 5.2.5 TFO 114 5.2.6 TSO 115 5.3 TIME_WAIT问题案例分析 116 5.3.1 问题现象 116 5.3.2 问题分析 117 5.3.3 问题初步解决 118 5.3.4 问题再分析 118 5.3.5 问题后记 119 5.4 总结 119 第6章 DNS优化 120 6.1 DNS基本原理 121 6.1.1 DNS的一些关键术语 121 6.1.2 DNS查询过程 122 6.1.3 NS选择策略和机制 124 6.1.4 DNS扩展协议EDNS 125 6.1.5 常用DNS相关命令 126 6.2 实战案例:超远距离DNS性能问题分析和优化 130 6.2.1 现象描述 130 6.2.2 DNS Lookup耗时长的问题分析 131 6.2.3 DNS解析性能解决方案 133 6.3 总结 136 第7章 CDN优化 138 7.1 CDN优化概述 138 7.2 CDN的相关术语 140 7.3 从应用看CDN的基本原理 141 7.3.1 CDN基本架构 141 7.3.2 CDN全局调度 141 7.3.3 CDN基本调度方式 142 7.3.4 CDN加速的基本实施流程 145 7.4 CDN优化常见策略 146 7.4.1 静态化缓存优化 146 7.4.2 动态内容静态边缘化 147 7.4.3 动态加速优化 150 7.4.4 用户序列优化原理 153 7.4.5 域名合并优化 153 7.4.6 多级缓存架构优化 154 7.4.7 301、302跳转边缘化访问和多终端边缘化判断 154 7.5 CDN优化实战 155 7.5.1 CDN的不合理架构造成304请求耗时长优化实战 155 7.5.2 静态资源命中率优化实战 159 7.5.3 CDN动态加速优化实战 164 7.5.4 CDN静态化的问题和优化实战 171 7.5.5 CDN调度优化实战 178 7.6 总结 179 第8章 大型网站性能监控体系 182 8.1 监控设计 183 8.1.1 应用监控存在的问题 183 8.1.2 从问题排查思路看监控的设计 183 8.1.3 监控的设计步骤 184 8.1.4 监控常见法则总结 187 8.2 大型网站性能监控体系设计目标和原则 188 8.2.1 准确性 188 8.2.2 完整性 189 8.2.3 实时性 189 8.2.4 细分化 189 8.2.5 聚合化 189 8.2.6 图表化 190 8.2.7 可追溯 190 8.3 性能指标和监控项及实现 190 8.4 性能监控的关键指标 194 8.4.1 应用监控 194 8.4.2 系统监控 196 8.5 常用监控命令详解 201 第9章 大型网站容量评估 205 9.1 容量评估概述 205 9.2 容量评估的特点 206 9.3 单机峰值QPS的测算 206 9.3.1 单机测算方法 207 9.3.2 两种常用的引流压力测试方法 207 9.3.3 引流压力测试停止时间的判断 208 9.3.4 如何避免单机压力测试出现问题 209 9.4 大型网站常用的容量评估方法 210 9.4.1 二八原则评估法——新业务评估的基本方法 210 9.4.2 有历史数据参考的容量评估——GMV线性比例评估法和GMV转化评估法 210 9.4.3 流量占比评估法 215 9.5 总结 216 第10章 高性能系统架构模式 218 10.1 无状态架构 219 10.1.1 解决方案一——Session复制 219 10.1.2 解决方案二——Session Sticky 220 10.1.3 解决方案三——Session集中式存储 220 10.1.4 解决方案四——基于浏览器Cookie的无状态架构 222 10.2 基于负载均衡器的水平扩展架构 222 10.3 基于DNS的负载均衡 224 10.4 读写分离架构 224 10.5 基于数据水平切分的水平扩展架构 225 10.6 缓存架构 228 10.6.1 缓存的基本属性 229 10.6.2 缓存的分类 229 10.6.3 缓存使用常见的问题和误区 230 10.6.4 缓存使用场景 231 10.6.5 缓存使用规范和原则 232 10.7 近端架构 233 10.8 异步化架构 234 10.9 排队缓冲架构 235 10.10 多机房架构 236 10.10.1 同城架构 236 10.10.2 异地架构 238 10.11 基于服务的可扩展架构 240 10.12 日结架构 242 10.13 热点避免架构 243 第11章 大促保障体系 246 11.1 大促保障概述 246 11.1.1 大促保障简介 246 11.1.2 大促保障整体流程 247 11.2 大促保障体系详解 249 11.2.1 容量保障体系 249 11.2.2 风险保障体系 253 11.2.3 组织保障 255 11.2.4 运维保障 255 11.2.5 中间件保障 256 11.3 大促容量峰值保障策略 257 11.4 大促风险保障策略 259 11.4.1 风险保障概述 259 11.4.2 风险保障常见风险 259 11.4.3 风险识别和风险分类 260 11.4.4 风险保障策略 263 11.4.5 分组隔离策略 265 11.4.6 业务降级策略 265 11.4.7 监控发现策略 265 11.5 大促资金安全保障策略 265 11.5.1 常见的资金安全防护策略 265 11.5.2 大促资金安全防护 268 11.6 大促经验沉淀 268 11.7 大促保障实战分析 269 11.7.1 机房网络瓶颈问题分析 269 11.7.2 集群个体异常造成的容量问题分析 275 11.7.3 诡异的网络瓶颈 278 11.7.4 多机房压力测试流量不均问题分析 283 11.7.5 Tengine限流案例 291 11.8 总结 292 第12章 数据分析驱动性能优化 293 12.1 WebP性能优化案例背景 293 12.1.1 WebP格式开始兴起 294 12.1.2 WebP改造使L-D转化率下降 295 12.2 性能优化中的数据分析原理与方法 296 12.2.1 数据分析简介 296 12.2.2 数据分析之杜邦分析 297 12.2.3 数据分析之多维分析 299 12.3 通过数据分析来诊断WebP的性能问题 303 12.3.1 指标定义 303 12.3.2 基于指标树自动诊断WebP的性能问题 305 12.4 案例:通过数据分析进行OLAP分析和RT优化 308 12.4.1 在线分析系统响应指标基线的定义 308 12.4.2 性能问题诊断 309 12.4.3 数据的获取及觉察 311 12.4.4 方案的推导 313 12.4.5 小结 315 12.5 通过函数抽象进行性能优化 316 12.5.1 优化过程简介 316 12.5.2 函数抽象 317 12.5.3 统计分析 319 12.5.4 小结 321 |