全鏈路壓測是互聯(lián)網(wǎng)服務容量保障工作人員的重要工作,也是橫跨多個領域的技術。本書采用“理論聯(lián)系實際,再從實際回溯到理論”的方式,深入淺出地闡述全鏈路壓測的知識。本書前4章聚焦于全鏈路壓測的基礎知識,先對全鏈路壓測的基本知識和發(fā)展前景等進行深入介紹,再展開講解全鏈路壓測的技術實現(xiàn)、組織保障和工具建設,其間穿插一些實例代碼和圖表,幫助讀者融會貫通。第5章和第6章介紹全鏈路壓測的衍生實踐,包括微服務架構(gòu)下的容量治理,以及容量規(guī)劃與容量預測,將全鏈路壓測的應用價值擴大到更廣的領域。第7章用4個案例講解全鏈路壓測在不同類型企業(yè)的落地實踐,涵蓋全鏈路壓測在容量保障和混沌工程領域的應用。第8章從技術、管理和職業(yè)發(fā)展這3個方面,以問答形式闡述多個全鏈路壓測問題,為讀者帶來更多的思考。
本書內(nèi)容既包括全鏈路壓測的理論知識,又包括豐富的實踐案例,適合架構(gòu)師、研發(fā)人員、性能測試人員、運維人員、網(wǎng)站可靠性工程師、團隊管理者、項目經(jīng)理等閱讀。
1.深度分析雙11、618等大促活動容量保障的真實案例,揭秘網(wǎng)店大促背后的技術力量和一線大廠全鏈路壓測內(nèi)幕,讓全鏈路壓測不再是難題。
2.深入探索全鏈路壓測的核心技術,從組織策略到工具應用,再到相關領域的實用技巧,本書詳細講解。
3.集結(jié)互聯(lián)網(wǎng)巨頭們的壓測經(jīng)驗,經(jīng)過十數(shù)位業(yè)界前輩和專家的精心推薦,確保內(nèi)容的專業(yè)與前沿。
4.理論與實踐結(jié)合,通過四個精心挑選的案例分析,帶你深入理解全鏈路壓測的精髓。
5.超過100張全彩圖解,以直觀的視覺輔助,讓你輕松掌握全鏈路壓測的關鍵知識點。
吳駿龍
某大型互聯(lián)網(wǎng)公司測試總監(jiān),騰訊云“價值專家”,曾任Wish中國測試總監(jiān)、阿里巴巴本地生活高級測試經(jīng)理;在軟件質(zhì)量體系建設、服務容量保障、服務穩(wěn)定性建設、軟件研發(fā)效能等領域深耕多年,善于通過創(chuàng)新手段解決工程難題,曾多次擔任阿里巴巴本地生活“雙11”活動全局容量保障負責人,也幫助過多家不同類型的企業(yè)實施和推動全鏈路壓測的建設工作,積累了許多實踐經(jīng)驗,擁有多項專利;多次受邀參加 QCon、QECon、CCF 等行業(yè)峰會,并進行演講;《容量保障核心技術與實戰(zhàn)》專欄的作者,《軟件研發(fā)效能提升之美》的作者、《軟件研發(fā)效能指南》的副主編。
第 1章 認識全鏈路壓測 001
1.1 全鏈路壓測概述 001
1.1.1 互聯(lián)網(wǎng)服務的容量保障 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章 全鏈路壓測的技術實現(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 中間件改造和應用服務改造 021
2.2.1 中間件改造 022
2.2.2 應用服務改造 024
2.3 壓測模型構(gòu)建 025
2.3.1 線上日志回放 026
2.3.2 鏈路聚合技術 027
2.3.3 新場景的壓測模型構(gòu)建 028
2.3.4 全鏈路壓測的服務范圍 030
2.4 壓測流量構(gòu)造 032
2.4.1 壓測流量構(gòu)造的成本權衡 032
2.4.2 壓測流量構(gòu)造工具的技術選型 033
2.5 容量指標監(jiān)控 034
2.5.1 資源類指標 035
2.5.2 應用類指標 036
2.5.3 網(wǎng)絡類指標 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 壓測方案設計 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 誰對服務容量負責 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 中小型公司如何建設全鏈路壓測 058
3.3.1 粗放式建設 059
3.3.2 善用云服務商的收費機制 060
3.3.3 用好開源工具 061
3.3.4 購買解決方案 062
3.4 本章小結(jié) 062
第4章 全鏈路壓測的工具建設 064
4.1 優(yōu)秀開源工具精粹 064
4.1.1 鏈路追蹤工具 065
4.1.2 流量構(gòu)造工具 067
4.1.3 容量監(jiān)控工具 068
4.2 分布式壓測平臺建設 072
4.2.1 架構(gòu)設計 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 全鏈路壓測管理平臺建設 085
4.3.1 全鏈路壓測管理平臺功能概覽 085
4.3.2 壓測鏈路與模型管理 087
4.3.3 壓測風險識別與結(jié)果跟進 089
4.4 無人值守全鏈路壓測的技術實現(xiàn) 089
4.4.1 自適應壓測策略 090
4.4.2 自動化風險管控 092
4.5 本章小結(jié) 094
第5章 微服務架構(gòu)下的容量治理 095
5.1 微服務架構(gòu)的特點和容量風險 095
5.1.1 微服務架構(gòu)的特點 096
5.1.2 微服務架構(gòu)的容量風險 097
5.2 容量指標分析實戰(zhàn) 098
5.2.1 響應時間應關注平均值,還是分位線? 099
5.2.2 響應時間一定越短越好嗎? 100
5.2.3 CPU利用率低,服務容量就一定沒有問題嗎? 101
5.2.4 “壓不上去”了,就是服務容量達到瓶頸了嗎? 103
5.2.5 容量指標只是偶爾“抖動”一下,要不要關注? 104
5.3 擴容:為服務增添“燃料” 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 熔斷:上游的服務,我們來保護你 121
5.7 容災:我還有“一條命” 123
5.7.1 常見容災手段 124
5.7.2 容災衡量指標 125
5.7.3 兩地三中心 126
5.7.4 異地多活 127
5.8 預案建設:提前準備,胸有成竹 128
5.8.1 認識預案 129
5.8.2 預案演練 130
5.9 本章小結(jié) 132
第6章 容量規(guī)劃與容量預測 134
6.1 容量規(guī)劃的本質(zhì) 135
6.2 容量規(guī)劃的系統(tǒng)化方法 135
6.2.1 容量測量 136
6.2.2 容量預測 137
6.2.3 資源部署 138
6.2.4 容量驗證 139
6.3 智能化容量預測 140
6.3.1 智能化容量預測過程 140
6.3.2 相關度分析與服務畫像 148
6.3.3 容量預測迭代與校準 153
6.3.4 警惕業(yè)務場景變化 154
6.4 淺談排隊論 156
6.4.1 排隊論基礎知識 156
6.4.2 排隊論應用策略:排隊模型與公式 158
6.4.3 排隊論應用案例 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 服務架構(gòu)治理 169
7.1.4 大促流量預估 174
7.1.5 大促全鏈路壓測 176
7.1.6 大促活動容量保障體系 178
7.1.7 案例總結(jié) 180
7.2 某創(chuàng)業(yè)公司全鏈路壓測建設之路 181
7.2.1 全鏈路壓測的建設背景 181
7.2.2 全鏈路壓測的技術方案 182
7.2.3 全鏈路壓測的管理方案 184
7.2.4 案例總結(jié) 185
7.3 某商業(yè)銀行全鏈路壓測實踐案例 186
7.3.1 業(yè)務和技術背景 186
7.3.2 全鏈路壓測的技術方案 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 技術篇 198
8.1.1 統(tǒng)一基礎設施是實施全鏈路壓測的必要條件嗎? 198
8.1.2 完全依賴開源工具能夠?qū)崿F(xiàn)全鏈路壓測嗎? 199
8.1.3 金融公司是否難以進行全鏈路壓測? 199
8.1.4 業(yè)務迭代速度較快,如何降低全鏈路壓測模型的更新成本? 199
8.1.5 業(yè)務技術團隊認為通過限流足以規(guī)避容量風險,不需要進行服務優(yōu)化,是這樣嗎? 200
8.1.6 如何做到全鏈路壓測的常態(tài)化實施? 200
8.2 管理篇 201
8.2.1 我所在的公司沒有任何容量保障基礎,如何推動全鏈路壓測的建設? 201
8.2.2 全鏈路壓測適合自上而下推動,還是自下而上推動? 202
8.2.3 制定和推動全鏈路壓測流程規(guī)范時阻力重重,該怎么辦? 202
8.2.4 業(yè)務技術團隊不認可全鏈路壓測的結(jié)果,該怎么辦? 203
8.2.5 “大廠”的全鏈路壓測經(jīng)驗,能夠復制到中小型企業(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