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