大話性能測試 JMeter實(shí)戰(zhàn)
定 價(jià):89.9 元
- 作者:胡通
- 出版時(shí)間:2021/11/1
- ISBN:9787115573988
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.55
- 頁碼:318
- 紙張:
- 版次:01
- 開本:16開
本書以業(yè)界開源性能測試工具JMeter為依托,結(jié)合真實(shí)的工作實(shí)踐,用通俗易懂的語言層層深入講解性能測試技能。全書共分為5章和6個(gè)附錄,第1章講解性能測試基礎(chǔ)知識,包括性能測試的整體知識體系、必備基礎(chǔ)知識和通用標(biāo)準(zhǔn)等;第2章講解初級性能測試技能,包括JMeter九大核心組件的使用、測試腳本的編寫等;第3章講解中級性能測試技能,包括如何擴(kuò)展JMeter的功能插件、搭建性能自動化和實(shí)時(shí)可視化平臺等;第4章講解高級性能測試技能,包括Dubbo的擴(kuò)展測試、中間件的基準(zhǔn)測試、JMeter源碼的解析等;第5章通過實(shí)例剖析3種典型性能測試場景;附錄部分?jǐn)U展講解實(shí)用性能知識,包括典型性能問題和解決方法、性能參數(shù)調(diào)優(yōu)、問題定位和優(yōu)化建議等。
本書適合對性能測試有入門、進(jìn)階學(xué)習(xí)需求的測試人員,也適合對性能知識有學(xué)習(xí)需求的開發(fā)人員、運(yùn)維人員等相關(guān)技術(shù)人員。
本書以業(yè)界開源性能測試工具JMeter為依托,結(jié)合真實(shí)的工作實(shí)踐,用通俗易懂的語言層層深入講解性能測試技能。
本書性能測試相關(guān)知識總結(jié)完善,系統(tǒng)性強(qiáng),知識點(diǎn)務(wù)實(shí),幫助大家完成工作中的測試任務(wù),借鑒性足,實(shí)用性高。
本書提供性能測試報(bào)告模板、常見中間件搭建方法等配套學(xué)習(xí)資料。
胡通 通信工程專業(yè)碩士,于某大型移動研發(fā)中心從事性能測試工作6年,在工作期間發(fā)表了5篇發(fā)明專利和1篇論文,參與過公司百萬級數(shù)據(jù)量的性能測試項(xiàng)目,幫助公司從無到有建立起性能測試體系,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富。榮獲2019年杭州未來科技城性能測試大賽一等獎(jiǎng)。2018年9月他在51Testing連載“大話性能”至今。
目 錄
第 1章 性能測試基礎(chǔ) 1
1.1 性能測試新手入門 1
1.1.1 性能測試的背景 1
1.1.2 性能測試的目的 2
1.1.3 性能測試的分類 4
1.1.4 性能測試的術(shù)語和指標(biāo) 4
1.1.5 性能測試的基礎(chǔ)曲線模型 6
1.1.6 性能測試的技能知識圖譜 7
1.1.7 新手入門基礎(chǔ)知識 9
1.2 性能測試必備知識 10
1.2.1 性能測試的完整工作流程 10
1.2.2 性能測試的需求分析 11
1.2.3 性能測試的方案設(shè)計(jì) 14
1.2.4 性能測試的環(huán)境搭建 15
1.2.5 性能測試的數(shù)據(jù)構(gòu)造 19
1.2.6 性能協(xié)議的抓包分析 22
1.2.7 性能測試的腳本編寫 23
1.2.8 性能測試的監(jiān)控部署 24
1.2.9 性能問題的定位分析 43
1.2.10 性能測試的報(bào)告總結(jié) 58
1.3 性能測試閉環(huán)流 58
1.4 性能測試執(zhí)行時(shí)機(jī) 60
1.5 性能測試通用標(biāo)準(zhǔn) 61
1.6 小結(jié) 62
第 2章 JMeter初級實(shí)戰(zhàn)真經(jīng) 63
2.1 JMeter的常用版本功能回溯 63
2.2 JMeter的安裝和使用 65
2.2.1 Windows環(huán)境 65
2.2.2 macOS環(huán)境 67
2.2.3 Linux環(huán)境 68
2.2.4 命令行的使用 68
2.3 JMeter的常用核心組件 69
2.3.1 線程組 71
2.3.2 配置元件 75
2.3.3 監(jiān)聽器 80
2.3.4 邏輯控制器 82
2.3.5 取樣器 84
2.3.6 定時(shí)器 88
2.3.7 前置處理器 90
2.3.8 后置處理器 90
2.3.9 斷言 93
2.4 JMeter的參數(shù)化方法 97
2.5 JMeter的關(guān)聯(lián)方法 98
2.6 JMeter的斷言方法 98
2.7 JMeter的集合點(diǎn)設(shè)置 98
2.8 JMeter的IP欺騙 99
2.9 JMeter的混合場景方法 100
2.10 JMeter的常見錯(cuò)誤和常用小技巧 101
2.11 實(shí)戰(zhàn)腳本解析 106
2.11.1 HTTP(S)請求 106
2.11.2 SOAP請求 108
2.11.3 UDP請求 109
2.11.4 SQL語句 111
2.12 小結(jié) 114
第3章 JMeter中級實(shí)戰(zhàn)真經(jīng) 115
3.1 JMeter的分布式壓測 115
3.1.1 分布式壓測原理 115
3.1.2 使用方法詳解 116
3.1.3 常見錯(cuò)誤說明 118
3.2 JMeter的BeanShell實(shí)戰(zhàn) 119
3.2.1 常用語法說明 120
3.2.2 10個(gè)應(yīng)用示例講解 122
3.2.3 注意事項(xiàng)說明 127
3.3 JMeter的函數(shù)式插件擴(kuò)展 127
3.3.1 擴(kuò)展方法說明 127
3.3.2 示例講解 129
3.4 JMeter的WebSocket實(shí)戰(zhàn) 137
3.4.1 組件知識講解 138
3.4.2 應(yīng)用示例分析 141
3.4.3 注意事項(xiàng)強(qiáng)調(diào) 150
3.5 JMeter+Shell的自動化性能測試 150
3.5.1 JMeter+Shell實(shí)例講解 151
3.5.2 高級技巧應(yīng)用 155
3.6 JMeter的實(shí)時(shí)可視化平臺搭建 156
3.6.1 可視化方案展示 156
3.6.2 InfluxDB知識精華 156
3.6.3 InfluxDB安裝部署 159
3.6.4 Grafana知識精華 161
3.6.5 安裝部署Grafana 162
3.6.6 平臺搭建過程詳解 163
3.7 小結(jié) 173
第4章 JMeter高級實(shí)戰(zhàn)真經(jīng) 174
4.1 JMeter的Dubbo性能測試實(shí)踐 174
4.1.1 Dubbo核心知識點(diǎn) 175
4.1.2 示例代碼擴(kuò)展講解 178
4.1.3 二次優(yōu)化腳本和問題 199
4.2 JMeter的TCP自定義消息性能測試
實(shí)踐 204
4.2.1 TCP組件知識詳解 205
4.2.2 示例代碼講解 207
4.2.3 百萬連接的參數(shù)調(diào)優(yōu) 213
4.2.4 問題總結(jié) 213
4.3 JMeter對中間件的基準(zhǔn)測試 214
4.3.1 消息中間件ActiveMQ 214
4.3.2 緩存中間件Redis 226
4.4 JMeter的常見問題和性能優(yōu)化 238
4.5 JMeter的源碼編譯和解讀 239
4.5.1 JMeter源碼編譯 240
4.5.2 JMeter源碼解讀 246
4.6 小結(jié) 250
第5章 性能測試實(shí)戰(zhàn)案例 251
5.1 日常項(xiàng)目性能測試 251
5.1.1 項(xiàng)目背景 251
5.1.2 性能測試目標(biāo) 251
5.1.3 性能測試架構(gòu) 252
5.1.4 測試環(huán)境搭建 252
5.1.5 測試數(shù)據(jù)構(gòu)造 253
5.1.6 性能測試用例 254
5.1.7 性能腳本編寫 256
5.1.8 性能測試監(jiān)控 266
5.1.9 性能測試執(zhí)行 266
5.1.10 性能測試結(jié)果 267
5.2 方案對比性能測試 268
5.2.1 方案對比需求 268
5.2.2 性能測試方法 268
5.2.3 性能測試場景 269
5.2.4 性能測試腳本和代碼 270
5.2.5 性能測試結(jié)果 273
5.3 MQTT性能測試 274
5.3.1 項(xiàng)目背景 275
5.3.2 MQTT和EMQ 275
5.3.3 性能測試環(huán)境 276
5.3.4 性能測試用例 278
5.3.5 JMeter腳本編寫 279
5.3.6 性能測試結(jié)果 283
5.3.7 問題和優(yōu)化 283
5.4 測試實(shí)戰(zhàn)問題分析 283
5.4.1 實(shí)戰(zhàn)典型問題一 284
5.4.2 實(shí)戰(zhàn)典型問題二 285
5.4.3 實(shí)戰(zhàn)典型問題三 287
5.5 小結(jié) 288
附錄A 常見性能測試問題 289
A.1 出現(xiàn)too many open files 289
A.2 出現(xiàn)Out Of Memory Error 290
A.3 數(shù)據(jù)庫連接池不釋放 290
A.4 CPU使用率高 290
A.5 無論怎么壓測,系統(tǒng)的TPS上不去 291
附錄B 性能參數(shù)調(diào)優(yōu) 292
B.1 Spring Boot 292
B.2 操作系統(tǒng) 292
B.3 常用中間件的核心性能參數(shù) 293
附錄C Java代碼定位和優(yōu)化建議 295
C.1 代碼優(yōu)化細(xì)節(jié) 295
C.2 Java代碼分析工具 297
附錄D MySQL定位和優(yōu)化建議 300
D.1 數(shù)據(jù)庫性能瓶頸定位 300
D.2 配置優(yōu)化 302
D.3 關(guān)于SQL語句的建議 305
D.4 索引建立和優(yōu)化原則 306
附錄E JVM定位和優(yōu)化建議 308
E.1 堆內(nèi)存設(shè)置和原理 309
E.2 虛擬機(jī)內(nèi)存監(jiān)控手段 310
E.3 參數(shù)說明和垃圾回收器 311
E.4 常見JVM問題 313
E.5 如何優(yōu)化GC 314
附錄F Cookie和Session的關(guān)系 315
F.1 Cookie 316
F.2 Session 317