内容简介
第1章 基于用户体验的性能优化要素
1.1页面用户体验的要素介绍
1.2白屏时间
1.2.1白屏时间的重要性
1.2.2白屏过程详解
1.3首屏时间
1.3.1首屏时间的定义
1.3.2首屏时间的重要性
1.4页面整体加载完成
第2章 前端性能优化实战
2.1延迟渲染
2.1.1挑战和困难
2.1.2解决方案
2.2 SEO Ajax
2.2.1挑战和困难
2.2.2解决方案
第3章 网站性能分析
3.1快速了解网站性能
3.1.1使用YSlow进行性能分析
3.1.2使用PageSpeed进行性能分析
3.1.3使用WebPagetest进行性能分析
3.2真实用户前端性能监控
3.2.1真实用户前端性能数据采集
3.2.2数据采集可行性分析
第4章 服务端性能优化
4.1最大QPS推算及验证
4.1.1 RT
4.1.2单线程QPS
4.1.3最佳线程数
4.1.4最大QPS
4.1.5实验数据验证公式
4.1.6压力测试最佳线程数和QPS的临界点
4.2同步模型与异步模型
4.2.1同步模型
4.2.2异步模型
4.2.3为什么异步模型需要的线程数少
4.2.4两个模型的对比及异步模型适用场景
4.2.5小结
4.3数据结构对性能的影响
4.3.1 HashMap的问题
4.3.2 HashMap的结构
4.3.3碰撞
4.3.4 Hash算法
4.3.5题外话:ConcurrentHashMap中的Hash
4.3.6 HashMap综述
4.3.7均摊
4.4算法设计不合理带来的性能问题
4.4.1某应用A的现象
4.4.2某应用B的现象
4.4.3分析
4.4.4方案
4.4.5验证
4.4.6小结
4.5综合案例:电商活动页面性能优化
4.5.1第一轮:通过APC使QPS提高近3倍
4.5.2第二轮:解决消耗CPU资源大户Gzip
4.5.3小结
第5章 TCP优化
5.1 TCP传输原理
5.1.1 TCP传输的简要说明
5.1.2滑动窗口——接收端流量控制
5.1.3拥塞窗口——发送端流量控制
5.1.4传统TCP拥塞控制问题
5.2 Linux内核升级中的TCP优化技术
5.2.1调整接收窗口
5.2.2初始拥塞窗口调整(Linux 2.6.38开始支持)
5.2.3 Early Retransmit(Linux 3.5开始支持)
5.2.4初始RTO调整(Linux 2.6.18开始支持)
5.2.5 TFO
5.2.6 TSO
5.3 TIME WAIT问题案例分析
5.3.1问题现象
5.3.2问题分析
5.3.3问题初步解决
5.3.4问题再分析
5.3.5问题后记
5.4总结
第6章DNS优化
6.1 DNS基本原理
6.1.1 DNS的一些关键术语
6.1.2 DNS查询过程
6.1.3 NS选择策略和机制
6.1.4 DNS扩展协议EDNS
6.1.5常用DNS相关命令
6.2实战案例:超远距离DNS性能问题分析和优化
6.2.1现象描述
6.2.2 DNS Lookup耗时长的问题分析
6.2.3 DNS解析性能解决方案
6.3总结
第7章 CDN优化
7.1 CDN优化概述
7.2 CDN的相关术语
7.3从应用看CDN的基本原理
7.3.1 CDN基本架构
7.3.2 CDN全局调度
7.3.3 CDN基本调度方式
7.3.4 CDN加速的基本实施流程
7.4 CDN优化常见策略
7.4.1静态化缓存优化
7.4.2动态内容静态边缘化
7.4.3动态加速优化
7.4.4用户序列优化原理
7.4.5域名合并优化
7.4.6多级缓存架构优化
7.4.7 301.302跳转边缘化访问和多终端边缘化判断
7.5 CDN优化实战
7.5.1 CDN的不合理架构造成304请求耗时长优化实战
7.5.2静态资源命中率优化实战
7.5.3 CDN动态加速优化实战
7.5.4 CDN静态化的问题和优化实战
7.5.5 CDN调度优化实战
7.6总结
第8章 大型网站性能监控体系
8.1监控设计
8.1.1应用监控存在的问题
8.1.2从问题排查思路看监控的设计
8.1.3监控的设计步骤
8.1.4监控常见法则总结
8.2大型网站性能监控体系设计目标和原则
8.2.1准确性
8.2.2完整性
8.2.3实时性
8.2.4细分化
8.2.5聚合化
8.2.6图表化
8.2.7可追溯
8.3性能指标和监控项及实现
8.4性能监控的关键指标
8.4.1应用监控
8.4.2系统监控
8.5常用监控命令详解
第9章 大型网站容量评估
9.1容量评估概述
9.2容量评估的特点
9.3单机峰值QPS的测算
9.3.1单机测算方法
9.3.2两种常用的引流压力测试方法
9.3.3引流压力测试停止时间的判断
9.3.4如何避免单机压力测试出现问题
9.4大型网站常用的容量评估方法
9.4.1二八原则评估法——新业务评估的基本方法
9.4.2有历史数据参考的容量评估——GMV线性比例评估法和GMV转化评估法
9.4.3流量占比评估法
9.5总结
第10章 高性能系统架构模式
10.1无状态架构
10.1.1解决方案一——Session复制
10.1.2解决方案二——Session Sticky
10.1.3解决方案三——Session集中式存储
10.1.4解决方案四——基于浏览器Cookie的无状态架构
10.2基于负载均衡器的水平扩展架构
10.3基于DNS的负载均衡
10.4读写分离架构
10.5基于数据水平切分的水平扩展架构
10.6缓存架构
10.6.1缓存的基本属性
10.6.2缓存的分类
10.6.3缓存使用常见的问题和误区
10.6.4缓存使用场景
10.6.5缓存使用规范和原则
10.7近端架构
10.8异步化架构
10.9排队缓冲架构
10.10多机房架构
10.10.1同城架构
10.10.2异地架构
10.11基于服务的可扩展架构
10.12日结架构
10.13热点避免架构
第11章 大促保障体系
11.1大促保障概述
11.1.1大促保障简介
11.1.2大促保障整体流程
11.2大促保障体系详解
11.2.1容量保障体系
11.2.2风险保障体系
11.2.3组织保障
11.2.4运维保障
11.2.5中间件保障
11.3大促容量峰值保障策略
11.4大促风险保障策略
11.4.1风险保障概述
11.4.2风险保障常见风险
11.4.3风险识别和风险分类
11.4.4 风险保障策略
11.4.5分组隔离策略
11.4.6业务降级策略
11.4.7监控发现策略
11.5大促资金安全保障策略
11.5.1常见的资金安全防护策略
11.5.2大促资金安全防护
11.6大促经验沉淀
11.7大促保障实战分析
11.7.1机房网络瓶颈问题分析
11.7.2集群个体异常造成的容量问题分析
11.7.3诡异的网络瓶颈
11.7.4多机房压力测试流量不均问题分析
11.7.5 Tengine限流案例
11.8总结
第12章 数据分析驱动性能优化
12.1 WebP性能优化案例背景
12.1.1 WebP格式开始兴起
12.1.2 WebP改造使L-D转化率下降
12.2性能优化中的数据分析原理与方法
12.2.1数据分析简介
12.2.2数据分析之杜邦分析
12.2.3数据分析之多维分析
12.3通过数据分析来诊断WebP的性能问题
12.3.1指标定义
12.3.2基于指标树自动诊断WebP的性能问题
12.4案例:通过数据分析进行OLAP分析和RT优化
12.4.1在线分析系统响应指标基线的定义
12.4.2性能问题诊断
12.4.3数据的获取及觉察
12.4.4方案的推导
12.4.5小结
12.5通过函数抽象进行性能优化
12.5.1优化过程简介
12.5.2函数抽象
12.5.3统计分析
12.5.4小结