全鏈路壓測(cè)是互聯(lián)網(wǎng)服務(wù)容量保障工作人員的重要工作,也是橫跨多個(gè)領(lǐng)域的技術(shù)。本書采用“理論聯(lián)系實(shí)際,再從實(shí)際回溯到理論”的方式,深入淺出地闡述全鏈路壓測(cè)的知識(shí)。本書前4章聚焦于全鏈路壓測(cè)的基礎(chǔ)知識(shí),先對(duì)全鏈路壓測(cè)的基本知識(shí)和發(fā)展前景等進(jìn)行深入介紹,再展開講解全鏈路壓測(cè)的技術(shù)實(shí)現(xiàn)、組織保障和工具建設(shè),其間穿插一些實(shí)例代碼和圖表,幫助讀者融會(huì)貫通。第5章和第6章介紹全鏈路壓測(cè)的衍生實(shí)踐,包括微服務(wù)架構(gòu)下的容量治理,以及容量規(guī)劃與容量預(yù)測(cè),將全鏈路壓測(cè)的應(yīng)用價(jià)值擴(kuò)大到更廣的領(lǐng)域。第7章用4個(gè)案例講解全鏈路壓測(cè)在不同類型企業(yè)的落地實(shí)踐,涵蓋全鏈路壓測(cè)在容量保障和混沌工程領(lǐng)域的應(yīng)用。第8章從技術(shù)、管理和職業(yè)發(fā)展這3個(gè)方面,以問答形式闡述多個(gè)全鏈路壓測(cè)問題,為讀者帶來更多的思考。
本書內(nèi)容既包括全鏈路壓測(cè)的理論知識(shí),又包括豐富的實(shí)踐案例,適合架構(gòu)師、研發(fā)人員、性能測(cè)試人員、運(yùn)維人員、網(wǎng)站可靠性工程師、團(tuán)隊(duì)管理者、項(xiàng)目經(jīng)理等閱讀。
1.深度分析雙11、618等大促活動(dòng)容量保障的真實(shí)案例,揭秘網(wǎng)店大促背后的技術(shù)力量和一線大廠全鏈路壓測(cè)內(nèi)幕,讓全鏈路壓測(cè)不再是難題。
2.深入探索全鏈路壓測(cè)的核心技術(shù),從組織策略到工具應(yīng)用,再到相關(guān)領(lǐng)域的實(shí)用技巧,本書詳細(xì)講解。
3.集結(jié)互聯(lián)網(wǎng)巨頭們的壓測(cè)經(jīng)驗(yàn),經(jīng)過十?dāng)?shù)位業(yè)界前輩和專家的精心推薦,確保內(nèi)容的專業(yè)與前沿。
4.理論與實(shí)踐結(jié)合,通過四個(gè)精心挑選的案例分析,帶你深入理解全鏈路壓測(cè)的精髓。
5.超過100張全彩圖解,以直觀的視覺輔助,讓你輕松掌握全鏈路壓測(cè)的關(guān)鍵知識(shí)點(diǎn)。
吳駿龍
某大型互聯(lián)網(wǎng)公司測(cè)試總監(jiān),騰訊云“價(jià)值專家”,曾任Wish中國(guó)測(cè)試總監(jiān)、阿里巴巴本地生活高級(jí)測(cè)試經(jīng)理;在軟件質(zhì)量體系建設(shè)、服務(wù)容量保障、服務(wù)穩(wěn)定性建設(shè)、軟件研發(fā)效能等領(lǐng)域深耕多年,善于通過創(chuàng)新手段解決工程難題,曾多次擔(dān)任阿里巴巴本地生活“雙11”活動(dòng)全局容量保障負(fù)責(zé)人,也幫助過多家不同類型的企業(yè)實(shí)施和推動(dòng)全鏈路壓測(cè)的建設(shè)工作,積累了許多實(shí)踐經(jīng)驗(yàn),擁有多項(xiàng)專利;多次受邀參加 QCon、QECon、CCF 等行業(yè)峰會(huì),并進(jìn)行演講;《容量保障核心技術(shù)與實(shí)戰(zhàn)》專欄的作者,《軟件研發(fā)效能提升之美》的作者、《軟件研發(fā)效能指南》的副主編。
第 1章 認(rèn)識(shí)全鏈路壓測(cè) 001
1.1 全鏈路壓測(cè)概述 001
1.1.1 互聯(lián)網(wǎng)服務(wù)的容量保障 001
1.1.2 全鏈路壓測(cè)的概念 003
1.1.3 全鏈路壓測(cè)的價(jià)值 004
1.1.4 全鏈路壓測(cè)的特點(diǎn) 005
1.2 全鏈路壓測(cè)的演進(jìn)之路 006
1.2.1 基線容量測(cè)試 006
1.2.2 集群縮放壓測(cè) 007
1.2.3 流量回放 008
1.2.4 單鏈路壓測(cè) 008
1.3 全鏈路壓測(cè)的發(fā)展前景 010
1.4 本章小結(jié) 012
第 2章 全鏈路壓測(cè)的技術(shù)實(shí)現(xiàn) 014
2.1 壓測(cè)數(shù)據(jù)隔離 015
2.1.1 邏輯隔離 015
2.1.2 物理隔離 016
2.1.3 影子庫與影子表 018
2.1.4 邏輯隔離與物理隔離的對(duì)比 021
2.2 中間件改造和應(yīng)用服務(wù)改造 021
2.2.1 中間件改造 022
2.2.2 應(yīng)用服務(wù)改造 024
2.3 壓測(cè)模型構(gòu)建 025
2.3.1 線上日志回放 026
2.3.2 鏈路聚合技術(shù) 027
2.3.3 新場(chǎng)景的壓測(cè)模型構(gòu)建 028
2.3.4 全鏈路壓測(cè)的服務(wù)范圍 030
2.4 壓測(cè)流量構(gòu)造 032
2.4.1 壓測(cè)流量構(gòu)造的成本權(quán)衡 032
2.4.2 壓測(cè)流量構(gòu)造工具的技術(shù)選型 033
2.5 容量指標(biāo)監(jiān)控 034
2.5.1 資源類指標(biāo) 035
2.5.2 應(yīng)用類指標(biāo) 036
2.5.3 網(wǎng)絡(luò)類指標(biāo) 036
2.5.4 鏈路類指標(biāo) 037
2.5.5 中間件指標(biāo) 038
2.5.6 壓測(cè)端指標(biāo) 038
2.5.7 輿情指標(biāo) 039
2.5.8 容量指標(biāo)監(jiān)控原則 039
2.6 全鏈路壓測(cè)的實(shí)施流程 041
2.6.1 壓測(cè)方案設(shè)計(jì) 041
2.6.2 壓測(cè)方案評(píng)審 043
2.6.3 壓測(cè)準(zhǔn)備 043
2.6.4 壓測(cè)執(zhí)行 044
2.6.5 結(jié)果反饋 046
2.6.6 持續(xù)跟進(jìn) 047
2.7 本章小結(jié) 047
第3章 全鏈路壓測(cè)的組織保障 049
3.1 全鏈路壓測(cè)需要什么樣的團(tuán)隊(duì) 049
3.1.1 運(yùn)維驅(qū)動(dòng):GOC團(tuán)隊(duì)的建立和意義 050
3.1.2 測(cè)試驅(qū)動(dòng):是否需要獨(dú)立的專項(xiàng)測(cè)試團(tuán)隊(duì) 051
3.1.3 誰對(duì)服務(wù)容量負(fù)責(zé) 052
3.2 全鏈路壓測(cè)如何運(yùn)營(yíng) 053
3.2.1 Program機(jī)制 053
3.2.2 全鏈路壓測(cè)SOP 054
3.2.3 常態(tài)化執(zhí)行制度和容量問題分級(jí)規(guī)范 055
3.2.4 激勵(lì)措施和競(jìng)爭(zhēng)模式 057
3.3 中小型公司如何建設(shè)全鏈路壓測(cè) 058
3.3.1 粗放式建設(shè) 059
3.3.2 善用云服務(wù)商的收費(fèi)機(jī)制 060
3.3.3 用好開源工具 061
3.3.4 購買解決方案 062
3.4 本章小結(jié) 062
第4章 全鏈路壓測(cè)的工具建設(shè) 064
4.1 優(yōu)秀開源工具精粹 064
4.1.1 鏈路追蹤工具 065
4.1.2 流量構(gòu)造工具 067
4.1.3 容量監(jiān)控工具 068
4.2 分布式壓測(cè)平臺(tái)建設(shè) 072
4.2.1 架構(gòu)設(shè)計(jì) 073
4.2.2 壓測(cè)狀態(tài)流轉(zhuǎn) 077
4.2.3 實(shí)時(shí)數(shù)據(jù)(熱數(shù)據(jù)) 078
4.2.4 異步數(shù)據(jù)(冷數(shù)據(jù)) 079
4.2.5 吞吐量限制與動(dòng)態(tài)調(diào)節(jié) 081
4.2.6 壓測(cè)場(chǎng)景編排 082
4.2.7 監(jiān)控模塊 084
4.3 全鏈路壓測(cè)管理平臺(tái)建設(shè) 085
4.3.1 全鏈路壓測(cè)管理平臺(tái)功能概覽 085
4.3.2 壓測(cè)鏈路與模型管理 087
4.3.3 壓測(cè)風(fēng)險(xiǎn)識(shí)別與結(jié)果跟進(jìn) 089
4.4 無人值守全鏈路壓測(cè)的技術(shù)實(shí)現(xiàn) 089
4.4.1 自適應(yīng)壓測(cè)策略 090
4.4.2 自動(dòng)化風(fēng)險(xiǎn)管控 092
4.5 本章小結(jié) 094
第5章 微服務(wù)架構(gòu)下的容量治理 095
5.1 微服務(wù)架構(gòu)的特點(diǎn)和容量風(fēng)險(xiǎn) 095
5.1.1 微服務(wù)架構(gòu)的特點(diǎn) 096
5.1.2 微服務(wù)架構(gòu)的容量風(fēng)險(xiǎn) 097
5.2 容量指標(biāo)分析實(shí)戰(zhàn) 098
5.2.1 響應(yīng)時(shí)間應(yīng)關(guān)注平均值,還是分位線? 099
5.2.2 響應(yīng)時(shí)間一定越短越好嗎? 100
5.2.3 CPU利用率低,服務(wù)容量就一定沒有問題嗎? 101
5.2.4 “壓不上去”了,就是服務(wù)容量達(dá)到瓶頸了嗎? 103
5.2.5 容量指標(biāo)只是偶爾“抖動(dòng)”一下,要不要關(guān)注? 104
5.3 擴(kuò)容:為服務(wù)增添“燃料” 105
5.3.1 擴(kuò)容方案 105
5.3.2 擴(kuò)容注意點(diǎn) 109
5.4 限流:讓我“緩一緩” 110
5.4.1 限流策略 110
5.4.2 限流位置 115
5.5 降級(jí):棄車保帥 117
5.5.1 降級(jí)實(shí)現(xiàn) 117
5.5.2 降級(jí)策略和要點(diǎn) 119
5.6 熔斷:上游的服務(wù),我們來保護(hù)你 121
5.7 容災(zāi):我還有“一條命” 123
5.7.1 常見容災(zāi)手段 124
5.7.2 容災(zāi)衡量指標(biāo) 125
5.7.3 兩地三中心 126
5.7.4 異地多活 127
5.8 預(yù)案建設(shè):提前準(zhǔn)備,胸有成竹 128
5.8.1 認(rèn)識(shí)預(yù)案 129
5.8.2 預(yù)案演練 130
5.9 本章小結(jié) 132
第6章 容量規(guī)劃與容量預(yù)測(cè) 134
6.1 容量規(guī)劃的本質(zhì) 135
6.2 容量規(guī)劃的系統(tǒng)化方法 135
6.2.1 容量測(cè)量 136
6.2.2 容量預(yù)測(cè) 137
6.2.3 資源部署 138
6.2.4 容量驗(yàn)證 139
6.3 智能化容量預(yù)測(cè) 140
6.3.1 智能化容量預(yù)測(cè)過程 140
6.3.2 相關(guān)度分析與服務(wù)畫像 148
6.3.3 容量預(yù)測(cè)迭代與校準(zhǔn) 153
6.3.4 警惕業(yè)務(wù)場(chǎng)景變化 154
6.4 淺談排隊(duì)論 156
6.4.1 排隊(duì)論基礎(chǔ)知識(shí) 156
6.4.2 排隊(duì)論應(yīng)用策略:排隊(duì)模型與公式 158
6.4.3 排隊(duì)論應(yīng)用案例 159
6.5 本章小結(jié) 162
第7章 全鏈路壓測(cè)實(shí)戰(zhàn)案例 164
7.1 某大型企業(yè)“雙11”大促活動(dòng)容量保障案例 164
7.1.1 明確背景與目標(biāo) 165
7.1.2 重點(diǎn)鏈路梳理 167
7.1.3 服務(wù)架構(gòu)治理 169
7.1.4 大促流量預(yù)估 174
7.1.5 大促全鏈路壓測(cè) 176
7.1.6 大促活動(dòng)容量保障體系 178
7.1.7 案例總結(jié) 180
7.2 某創(chuàng)業(yè)公司全鏈路壓測(cè)建設(shè)之路 181
7.2.1 全鏈路壓測(cè)的建設(shè)背景 181
7.2.2 全鏈路壓測(cè)的技術(shù)方案 182
7.2.3 全鏈路壓測(cè)的管理方案 184
7.2.4 案例總結(jié) 185
7.3 某商業(yè)銀行全鏈路壓測(cè)實(shí)踐案例 186
7.3.1 業(yè)務(wù)和技術(shù)背景 186
7.3.2 全鏈路壓測(cè)的技術(shù)方案 187
7.3.3 全鏈路壓測(cè)的實(shí)施效果 188
7.3.4 案例總結(jié) 189
7.4 全鏈路壓測(cè)與混沌工程的融合案例 190
7.4.1 異常場(chǎng)景下的全鏈路壓測(cè) 190
7.4.2 高負(fù)載下的故障模擬 193
7.4.3 全鏈路壓測(cè)與攻防演練的融合 194
7.4.4 案例總結(jié) 196
7.5 本章小結(jié) 196
第8章 全鏈路壓測(cè)快問快答 198
8.1 技術(shù)篇 198
8.1.1 統(tǒng)一基礎(chǔ)設(shè)施是實(shí)施全鏈路壓測(cè)的必要條件嗎? 198
8.1.2 完全依賴開源工具能夠?qū)崿F(xiàn)全鏈路壓測(cè)嗎? 199
8.1.3 金融公司是否難以進(jìn)行全鏈路壓測(cè)? 199
8.1.4 業(yè)務(wù)迭代速度較快,如何降低全鏈路壓測(cè)模型的更新成本? 199
8.1.5 業(yè)務(wù)技術(shù)團(tuán)隊(duì)認(rèn)為通過限流足以規(guī)避容量風(fēng)險(xiǎn),不需要進(jìn)行服務(wù)優(yōu)化,是這樣嗎? 200
8.1.6 如何做到全鏈路壓測(cè)的常態(tài)化實(shí)施? 200
8.2 管理篇 201
8.2.1 我所在的公司沒有任何容量保障基礎(chǔ),如何推動(dòng)全鏈路壓測(cè)的建設(shè)? 201
8.2.2 全鏈路壓測(cè)適合自上而下推動(dòng),還是自下而上推動(dòng)? 202
8.2.3 制定和推動(dòng)全鏈路壓測(cè)流程規(guī)范時(shí)阻力重重,該怎么辦? 202
8.2.4 業(yè)務(wù)技術(shù)團(tuán)隊(duì)不認(rèn)可全鏈路壓測(cè)的結(jié)果,該怎么辦? 203
8.2.5 “大廠”的全鏈路壓測(cè)經(jīng)驗(yàn),能夠復(fù)制到中小型企業(yè)嗎? 204
8.3 職業(yè)發(fā)展篇 204
8.3.1 是什么契機(jī)讓你開始從事全鏈路壓測(cè)工作的? 204
8.3.2 你在實(shí)施全鏈路壓測(cè)的過程中遇到的最大困難是什么? 205
8.3.3 從事全鏈路壓測(cè)工作,能為我的職業(yè)發(fā)展帶來什么幫助? 205
8.3.4 執(zhí)行全鏈路壓測(cè)非常辛苦,經(jīng)常要熬夜,對(duì)此你有什么建議嗎? 207
8.4 本章小結(jié) 207