大型网站性能优化实战
  • 推荐0
  • 收藏0
  • 浏览127

大型网站性能优化实战

周涛明 (作者)  董英 (责任编辑)

  • 书  号:978-7-121-35002-3
  • 页  数:336
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:董英
电子书 ¥49.00
购买电子书
纸质版 ¥79.00

相关图书

Servlet/JSP深入详解——基于Tomcat的Web开发(畅销书升级版)

孙鑫 (作者)

本书共分3篇,分别为Servlet篇、JSP篇及其应用篇,书中展示了Java Web开发中各种技术的应用,帮助读者快速掌握Java Web开发。 在知识的讲解...

 

Kubernetes权威指南:从Docker到Kubernetes实践全接触(第4版)

龚正 吴治辉 崔秀龙 闫健勇 (作者)

Kubernetes是由谷歌开源的Docker容器集群管理系统,为容器化的应用提供了资源调度、部署运行、服务发现、扩容及缩容等一整套功能。本书从架构师、开发人员...

 

Python量化交易入门

张杨飞 (作者)

本书本着能让新手快速上手量化交易的原则,循序渐进地讲解了量化交易入门所需要的知识,以及大量的开发技巧与交易技巧,具有很强的实用性。vn.py是机构级别的量化交易...

¥99.00

高可用可伸缩微服务架构:基于Dubbo、Spring Cloud和Service Mesh

程超 (作者)

近年来微服务架构已经成为大规模分布式架构的主流技术,越来越多的公司已经或开始转型为微服务架构。本书不以某一种微服务框架的使用为主题,而是对整个微服务生态进行系统...

¥108.00

超级标签:重塑用户心智的传播之道

闫跃龙 (作者)

品牌形象对于企业来说越来越重要,但是树立良好的品牌形象,在当前这样复杂的舆论环境下并不容易。本书将做品牌形象地比喻成做超级标签,树品牌就是贴标签,扭转不利的品牌...

 

智慧供应链:智能化时代的供应链管理与变革

文丹枫 周鹏辉 (作者)

本书对智能化时代背景下,企业转型智慧供应链的现实意义、转型逻辑、切入点、战略规划、 路径方案等进行了全方位的深入分析,为企业推进供应链转型升级、搭建智慧供应链...

 
本书以大型网站性能优化实战过程为主题,讲述了性能优化的基本理论和实践策略。从整体体系出发,来讲述整个性能优化过程,从前端页面性能优化,包括cdn、前端、tcp,到服务器端、机房性能优化逐步展开,最后讲述大促的准备和优化,期间穿插实践历程。本书分为两个部分,第一部分介绍和用户体验直接相关的页面加载性能,主要关注用户体验相关的性能优化内容。第二部分是基于容量的性能优化实战。
本书最大的特点就是实践偏多,通过实践进行理论升华。本书涵盖的体系是非常广的,书有味道,也有广度。本书是市面上第一本从前端到后端,从CDN、DNS,到TCP,到机房、大促全链路的关于性能优化的书籍,是一本相对全面和体系化的书籍,本书主要突出全面性和实战性,是目前很全面的关于性能优化方面的书籍,本书试图打造的是端到端的优化理论和实战体系。
周涛明,阿里高级技术专家、本书的倡导者,在阿里体系有6年的工作经历,见证了阿里的某个电子商务平台从小到大的发展历程,主导过多次大促总体负责的工作。之前在Cisco工作,在阿里速卖通负责性能领域工作,参与过CDN、TCP、DNS的优化工作,特别是对CDN有比较深入的了解,对服务器端性能优化有比较多的经验,曾在蚂蚁金服保险事业部主要负责平台保险的架构工作,目前在集团信息平台事业部做架构师。
张荣华,蚂蚁金服集团高级架构师,有12年工作经验,曾在土豆网从事架构工作,是Javaeye的资深撰稿人,他写的很多文章在Javaeye里引起了很大反响。在阿里从事多年架构工作,多次和笔者搭档历经大促性能保障工作,同时有非常丰富的性能优化经验,对架构、领域模型、性能等多方面都有非常丰富的经验,非常擅于学习,在计算机领域是不可多得的人才,同时解决了很多难题。他的特点是,能将一个技术难题深入浅出地分析到位,是非常擅于讲故事的同学,是一位真正的技术人。
张新兵,速卖通前端性能专家,对于前端的性能优化有非常丰富的经验,从他身上能够看到技术人员不折不挠的钻研精神。让人印象深刻的是,为了解决兼容SEO的问题,他提出了页面不能异步化加载的前端性能优化方案,从方案提出到落地,经历了很长的时间与各部门业务同事沟通、反复试验,效果喜人。

目录

第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

读者评论

  • 您好,您JDK参照的是哪个版本?hashMap哪里的算法,我在官方jdk中的hashMap里没有找到

    Coder_Wang发表于 2019/5/17 14:43:42

电子书版本

  • Epub