一个高性能的网站不但能够增加流量、提高用户体验,最终还将增加业务收入、降低运营成本。
作者唐文曾在腾讯、百度等一线互联网公司专注于用户访问质量与效率提升方面的工作,并取得了斐然的成绩,书中内容是将多年积累的工作经验进行系统化整理,抽象出一定的方法,让更多工程师系统地了解整个调优的过程及如何保持高效,最终让更多互联网企业受益。
推荐阅读:《海量运维、运营规划之道》
《大型网站性能监测、分析与优化(全彩)》共分为4篇9章,从监测、工具,分析、优化,标准等若干维度解读如何做好大规模应用的性能管理。《大型网站性能监测、分析与优化(全彩)》分别详细介绍了应用性能的监测、优化工具与平台搭建,以及性能优化的标准和保持。内容涵盖移动端、PC端、服务器和云、基础网络、产品逻辑和用户行为分析等方面。《大型网站性能监测、分析与优化(全彩)》既有方法论,又有具体的实践案例剖析,对于从事大型应用管理的技术人员非常有借鉴意义。
第 1 部分 基础篇
第1 章 应用性能管理概述 / 2
1.1 关于应用性能 / 2
1.2 关于应用性能管理 / 2
1.3 基本意识 / 3
1.3.1 价值与意义 / 4
1.3.2 出发点 / 6
1.3.3 相关的人 / 7
1.3.4 解决的问题 / 9
1.3.5 前提条件 / 11
1.3.6 组织形式 / 12
1.4 如何正确开始 / 14
1.5 投入与收益平衡 / 16
1.6 优秀企业的经验 / 17
第 2 部分 监测、工具篇
第2 章 应用性能监测实践 / 20
2.1 应用性能监测概述 / 20
2.2 应用性能持续监测 / 23
2.2.1 移动监测 / 24
2.2.2 Web监测 / 37
2.2.3 系统监测 / 56
2.2.4 应用监测 / 62
2.2.5 日志监测 / 89
2.3 应用性能即时监测 / 94
2.3.1 PC即时监测 / 101
2.3.2 移动Web App即时评测 / 104
2.3.3 移动Native App即时评测 / 106
2.3.4 网络即时监测 / 109
第3 章 性能监测工具介绍 / 113
3.1 监测工具概述 / 113
3.2 持续监测工具 / 115
3.2.1 Keynote / 116
3.2.2 Dynatrace / 117
3.2.3 App dynamics / 119
3.2.4 Newrelic / 120
3.2.5 基调 / 122
3.2.6 博睿 / 124
3.2.7 OneAPM / 125
3.2.8 云智慧 / 128
3.3 即时监测工具 / 130
3.3.1 YSlow / 130
3.3.2 Pagespeed Insights / 131
3.3.3 WebPageTest / 132
3.3.4 ChromeDevTools / 133
3.3.5 PhantomJS / 135
3.3.6 Jsperf / 136
3.4 其他工具 / 136
3.5 应用性能指标 / 140
3.5.1 用户指标 / 140
3.5.2 服务器指标 / 147
3.5.3 移动指标 / 149
3.5.4 其他指标 / 150
第 4 章 性能监测平台搭建实践 / 152
4.1 为什么要搭建监测平台 / 152
4.2 如何搭建性能监测平台 / 154
第 3 部分 分析、优化篇
第 5 章 应用性能分析实践 / 160
5.1 产生性能问题的因素 / 160
5.1.1 产品逻辑及用户行为 / 161
5.1.2 中国基础网络 / 161
5.1.3 PC端环境 / 163
5.1.4 移动端环境 / 164
5.1.5 代码及应用 / 165
5.1.6 服务器及云环境 / 166
5.2 应用性能分析概述 / 166
5.2.1 从用户及生产环境着手 / 167
5.2.2 常见的分析方法 / 176
5.2.3 主要分析视图 / 182
5.2.4 横向对比的意义 / 202
5.2.4.2 按行业分析 / 203
第 6 章 应用性能优化实践 / 205
6.1 应用性能优化概述 / 205
6.1.1 确保优化方向正确 / 206
6.1.2 确定优化带来的收益 / 207
6.1.3 功能与性能的平衡 / 209
6.1.4 防止过早和过渡优化 / 209
6.2 网络优化 / 210
6.2.1 IDC优化 / 211
6.2.2 ISP优化 / 217
6.2.3 CDN优化 / 221
6.2.4 BGP优化 / 229
6.2.5 DNS优化 / 231
6.3 系统优化 / 234
6.3.1 压缩优化 / 236
6.3.2 缓存优化 / 237
6.3.3 分离优化 / 240
6.3.4 内核优化 / 242
6.3.5 传输优化 / 245
6.3.6 并发优化 / 248
6.3.7 隔离优化 / 250
6.3.8 网卡优化 / 251
6.3.9 硬件优化 / 254
6.4 前端优化 / 257
6.4.1 首屏优化 / 259
6.4.2 内容优化 / 261
6.4.3 请求优化 / 263
6.4.4 CSS优化 / 266
6.4.5 JavaScript优化 / 269
6.4.6 图片优化 / 271
6.5 后端优化 / 275
6.5.1 架构优化 / 275
6.5.2 并行优化 / 276
6.5.3 异步优化 / 276
6.5.4 基础优化 / 276
6.5.5 算法优化 / 277
6.5.6 程序优化 / 277
6.5.7 缓存优化 / 278
6.6 移动优化 / 278
6.6.1 网络优化 / 279
6.6.2 请求优化 / 282
6.6.3 缓存优化 / 283
6.6.4 策略优化 / 284
6.6.5 启动优化 / 286
6.6.6 交互优化 / 286
6.6.7 内存优化 / 287
6.7 其他优化 / 290
6.7.1 SPDY / 290
6.7.2 HTTP/2 / 291
6.7.3 ESI / 293
6.7.4 SDCH / 294
6.7.5 BigPipe / 294
6.7.6 DNS Prefetch / 295
6.7.7 HHVM / 295
第 7 章 性能优化平台搭建实践 / 296
7.1 为什么要搭建优化平台 / 296
7.2 如何搭建性能优化平台 / 297
第 4 部分 标准、保持篇
第 8 章 应用性能优化标准 / 304
8.1 防止应用性能退化概述 / 304
8.2 通过规范防止性能退化 / 304
8.3 通过流程防止性能退化 / 307
8.3.1 应用性能准入 / 307
8.3.2 应用性能认证 / 308
8.3.3 应用性能巡检 / 309
8.4 业界优秀企业的经验 / 310
8.4.1 雅虎Web优化最佳实践 / 310
8.4.2 谷歌Web优化最佳实践 / 310
第 9 章 应用性能优化保持 / 313
9.1 性能优化保持概述 / 313
9.2 通过平台防止性能退化 / 313
9.2.1 自动优化开发框架 / 313
9.2.2 自动优化基础平台 / 314
9.3 通过告警防止性能退化 / 314
唐文老师在大型网站运维和性能优化领域有着非常丰富的经验,先后在百度、腾讯参与运维及性能优化基础设施建设。与他共事时,我为其专业素养、产品意识、分享精神所折服,在交流合作的过程中从他身上学到了很多性能和运维方面的知识。在百度工作时,他就有将多年的性能优化经验汇总成书的想法,经过几年的努力,idea终于兑现了,非常难得。性能是大型网站的命脉,与用户体验、服务稳定性息息相关,也能为企业节省运作成本。这本书涵盖了性能优化的方方面面,包括为什么要做性能优化,如何评估与监测应用及服务的性能,常见的性能优化手段,如何防止性能退化等。书籍理论与实践并重,而且有案例分析,是一本难得的性能优化指导书籍。
——百度前端性能优化负责人,牛尧
在互联网环境日益复杂的今天,性能优化的价值在不断提升。从用户体验到成本,各个方面都可产生收益,尤其在大型项目上这种收益更是呈现指数级的增加;另一方面,找到与竞争对手的性能差距,也是帮助产品赶超对手的重要手段,性能的本质提升将大大助力项目突破难关。
性能优化是一个大型的系统性工程,云、管、端各个层面技术栈全面,从检测分析到优化落地,本书体现了作者在这个领域的丰富经验。唐文在B公司时我与他一起共事,同在上海张江的那几年时光,见证了他通过对不同场景下的性能优化给公司产品带来的收益。他的原创书籍《海量运维、运营规划之道》在领域内创下了记录,而本次又是原创,且在性能优化这个领域,非常的难得和期待。
——百度运维部高级架构师,王炜煜
应用性能管理当前已成为互联网非常火爆的话题,其内容涵盖了与用户体验息息相关的系统监测、网络服务、应用代码、性能优化等环节。唐文先生在互联网公司的长期性能管理从业经验为本书注入了科学化、系统化、专业化的应用性能管理实践视角。随着移动互联网的不断发展壮大,国内的应用研发体系也在不断地健全并趋于成熟化,应用性能管理将逐渐成为应用研发体系中不可或缺的一环,并为优秀的用户体验保驾护航。衷心希望本书能够引导并帮助国内的开发者养成更系统化的应用、网站研发意识与习惯。
——阿里巴巴集团高级技术专家,杨镔,花名泠茗
在互联网行业中,速度是决定能否成功,甚至能否生存下去的关键因素。一方面需要将一个好的idea快速产品化,抢占市场。另一方面则是要保证服务的持续可用、高效运行。有时候我们会有这样的疑问,同样的IDC、网络设备、服务器配置,甚至别人的系统架构比自己的还要复杂,为什么自己网站的访问速度不如别人?其实这也是很多大型互联网公司要解决的问题。他们除了对比竞品的功能差异,也会对比效率上的差异。且运行效率一直是大厂追求的重要指标,并不断进行突破。
网站性能的提升是一个复杂且系统化的工程,包括用户信息收集、系统信息收集、衡量指标设定、综合分析、优化方法、效果评估等很多环节和技术细节。特别是随着移动互联网技术和移动设备的快速发展,终端的多样性、系统环境的复杂性、地理位置的不确定性,等等,都使得此项工作更具挑战。
本书作者是我多年的同事。在百度期间,专注于用户访问质量与效率提升方面的工作,并取得了斐然的成绩。作者希望将多年积累的工作经验进行系统化整理,抽象出一定的方法,让更多工程师系统地了解整个调优的过程及如何保持高效,让更多互联网企业受益。
——小米资深架构师,伏晔
《大型网站性能监测、分析与优化》是一本极具学习与参考价值的书。这本书详细阐述了性能优化领域的全链条环节,也通过作者在多家一线互联网公司的真实项目实践与思考一一展示。
有幸与本书作者唐文先生在腾讯期间有过几个大型项目的合作,一直保持着技术维度的长期学习交流。同时对于他在海量运营、业务优化、工具规划的全局观印象深刻。此书也是继他《海量运维、运营规划之道》出版2年后的又一部运维巨著,推荐阅读!
——京东无线总监, 徐奇琛
2012年认识作者,那时候他刚刚从腾讯过来百度,我们有幸一同工作过两个月,之后便见证了他全身投入到APM领域并成为领先探索者的过程。作者在腾讯将网站的访问速度提升数倍,在百度让UAQ系统成为支撑产品线性能优化的核心平台。我是在今年春天去杭州的火车上收到新书的初稿,内容之丰富,让我赞叹。整书的编排也非常合理,结构清晰翔实。既是新手入门参考,也可作为性能工程师的实用手册。在当今全面移动化的互联网技术背景下,《大型网站性能监测、分析与优化》这本书一定是了解有关网站性能的图书必备。
——美丽说运维总监,何成
互联网已经全面进入用户体验至上的时代,直接决定用户体验的应用性能优化能力,也已成为国际和国内各大互联网公司的核心竞争力,直接影响着公司效益和营收。通过优化,不但能够提升资源利用率和降低资源成本,同时还能够提升用户体验,为网站带来更多流量并增加用户的黏性,从而为公司带来更多业务收入,可谓一举多得。但是,用户体验优化是一个复杂的系统性工程,对技能深度和知识面广度的要求极高。唐文结合在腾讯、百度大规模性能优化的实战经历和经验,全面、系统、细致地总结了这样一套互联网企业级性能监测、分析和优化方法论,浓缩成书。我想这本书一定可以为奋战在运维一线的小伙伴们厘清优化思路、全面提升自身技能并找到新的发展方向起到极大的指引作用,值得一读。
——蘑菇街运维负责人,赵成
总体来说,稳定性和速度是基本的体验保障。对于技术人员来说,系统性能的监控和优化是必备技能之一。本书作者唐文在这方面有着非常丰富的实践经验,感谢他能够把这些经验总结出来并分享给大家,让我们一起来品尝这顿技术大餐吧!
——车易拍运维总监,赵旭
当我看到本书的初稿时,顿觉眼前一亮,里面的内容非常翔实,组织得非常成体系,实战性强。本书的作者唐文在访问速度监控和优化上有很多成功的经验和成体系的方法,在本书中更是进行了完整的梳理和总结。相信通过此书能够给读者带来更多的新知识、新方法、新视野,并能快速应用到日常工作中。相信读了此书的朋友一定会和我有同样的感受。
——中国搜索运维总监, 龚诚
初识唐文,是他给我们做互联网运维专题的专家讲座,说是专家,却看到的是一个年轻文静的小伙,十多年的互联网工作经验,做过好几个大型项目并取得不错的成果,开放、坦诚,不但精于技术,而且对技术支撑的商业价值很敏锐,文文静静的还有点小幽默,那个猫捉老鼠的故事让我们哈哈大笑,当时就留下了很深的印象。相通的是对技术的痴迷,对做什么事就要坚持做到更好的工匠精神的执着。
性能影响用户体验,这个毋庸置疑,搜索速度每延迟100ms, 无点击比例就会增大1%,网页切换速度、操作响应时间等道理相同,互联网应用的性能影响用户体验并直接影响收益。对于大型网站,性能指标有很多,涉及移动、前端、后端、网络、系统、应用、软件、硬件等方方面面,如何站在用户角度,借助系统的工程方法,抓住影响用户体验的核心指标、关键环节,辅以对应的工具对相关环节性能进行监测、分析和优化,通过点滴改进逐步提升用户体验支撑产品商业成功?想想,挺不容易。
埋头干活的人不少,能在干好活之后,抬起头来,总结整理经验并上升到方法论,帮助别人,促进行业共同进步的同时也是对自己知识点的打结,结多了,自然形成了网。我默默地敬佩这样的技术专家。
——章迅