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