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