全棧性能測試修煉寶典 JMeter實戰(zhàn)(第2版)
定 價:109.9 元
- 作者:陳志勇 劉瀟 錢琪
- 出版時間:2021/5/1
- ISBN:9787115560124
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393
- 頁碼:346
- 紙張:
- 版次:02
- 開本:16開
內(nèi) 容 提 要
本書全面介紹了軟件性能測試中的實戰(zhàn)技術(shù)和JMeter的應(yīng)用知識。本書分4篇10章:基礎(chǔ)篇(第1章)主要講解性能測試的理論和如何做好性能測試;工具篇(第2~4章)介紹了利用JMeter進行性能測試腳本開發(fā),如利用HTTP在JMeter中進行性能測試腳本開發(fā);實踐篇(第5~8章)詳細(xì)講解了性能監(jiān)控與診斷分析,通過實踐項目引導(dǎo)讀者進行性能測試工作,包括診斷問題、分析與調(diào)優(yōu);提升篇(第9~10章)講解如何基于JMeter做測試開發(fā)、利用容器技術(shù)提高測試效率。
本書講解通俗易懂,適合測試工程師、測試項目負(fù)責(zé)人、開發(fā)工程師、性能測試愛好者閱讀,也適合作為大專院校相關(guān)專業(yè)師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
上萬讀者認(rèn)可的、暢銷書作者的新力作
揭秘性能測試本質(zhì),突破工具局限,除了講解常規(guī)監(jiān)控技術(shù),還增加了全鏈接監(jiān)控。
掌握開發(fā)多種協(xié)議的性能測試腳本,幫助讀者快速上手性能測試。
涵蓋工程能效、容器部署環(huán)境、容器部署負(fù)載,多維度幫助讀者掌握性能測試知識。
基于JMeter5.x,性能監(jiān)控升級,診斷升級,介紹診斷思路、方法、工具,從原理到實踐學(xué)以致用。
陳志勇,曾就職于諾亞舟、中國平安、中國電信等企業(yè)。從事軟件開發(fā)、項目管理、性能測試等工作。擅長性能測試,擁有豐富的DevOps實踐經(jīng)驗,著有《持續(xù)集成與持續(xù)部署實踐》一書。
劉瀟,曾就職于SAP、中國電信等企業(yè)。擁有多年測試開發(fā)、性能測試、持續(xù)集成及持續(xù)部署經(jīng)驗。
錢琪,曾就職于AMD、思科、中國電信、VMware等企業(yè)。擅長測試開發(fā)、自動化測試、性能測試等技術(shù)。擁有豐富的持續(xù)集成、持續(xù)部署實踐經(jīng)驗,著有《持續(xù)集成與持續(xù)部署實踐》一書。
目 錄
基 礎(chǔ) 篇
第 1章 全棧性能測試 1
1.1 全棧正當(dāng)時 2
1.1.1 全棧開發(fā)正當(dāng)時 2
1.1.2 全棧測試應(yīng)聲起 2
1.1.3 性能測試要全棧 3
1.2 開展全棧性能測試 4
1.2.1 性能測試要解決的
問題 4
1.2.2 如何開展性能測試 6
1.3 性能測試技術(shù)棧 8
1.3.1 性能測試基礎(chǔ) 9
1.3.2 性能監(jiān)聽診斷 11
1.3.3 性能優(yōu)化 13
1.3.4 效率工具/持續(xù)集成 13
1.4 性能測試相關(guān)術(shù)語 14
1.5 本書相關(guān)內(nèi)容的約定 15
1.6 本章小結(jié) 16
工 具 篇
第 2章 JMeter腳本開發(fā) 17
2.1 JMeter工作區(qū)介紹 18
2.2 JMeter HTTP協(xié)議錄制 19
2.2.1 Badboy進行錄制 19
2.2.2 Fiddler進行腳本錄制 26
2.2.3 JMeter配置代理進行
錄制 29
2.3 JMeter腳本調(diào)試 32
2.4 JMeter關(guān)聯(lián) 35
2.4.1 后置處理器 35
2.4.2 Regular Expression
Extractor 35
2.5 JMeter參數(shù)化 39
2.5.1 配置元件 39
2.5.2 CSV數(shù)據(jù)文件設(shè)置 39
2.5.3 函數(shù)助手 41
2.5.4 訪問地址參數(shù)化 42
2.5.5 HTTP請求默認(rèn)值 43
2.6 JMeter檢查點 43
2.6.1 斷言 43
2.6.2 響應(yīng)斷言 44
2.7 JMeter事務(wù) 46
2.7.1 邏輯控制器 46
2.7.2 事務(wù)控制器 46
2.8 JMeter集合點 47
2.8.1 定時器 47
2.8.2 同步定時器 47
2.9 JMeter元件運行順序 48
2.10 本章小結(jié) 51
第3章 JMeter常用腳本開發(fā) 52
3.1 JMeter插件管理 53
3.2 JMeter在線腳本開發(fā) 54
3.3 WebSocket腳本開發(fā) 55
3.4 BeanShell腳本開發(fā) 57
3.5 調(diào)試取樣器 60
3.6 FTP腳本開發(fā) 61
3.7 Java腳本開發(fā) 62
3.8 JUnit腳本開發(fā) 70
3.8.1 JUnit簡介 70
3.8.2 JUnit參數(shù) 71
3.8.3 JMeter JUnit Request 72
3.9 Dubbo腳本開發(fā) 73
3.9.1 Dubbo示例環(huán)境部署 73
3.9.2 JMeter安裝Dubbo測試
插件 74
3.9.3 使用Dubbo取樣器測試示例服務(wù) 75
3.10 本章小結(jié) 76
第4章 JMeter負(fù)載與監(jiān)聽 77
4.1 負(fù)載模擬 78
4.1.1 場景設(shè)置 78
4.1.2 場景運行 80
4.2 影響負(fù)載的X因素 84
4.3 JMeter分布式執(zhí)行 85
4.3.1 執(zhí)行邏輯 85
4.3.2 執(zhí)行示例 86
4.4 測試監(jiān)聽 87
4.4.1 JMeter監(jiān)聽器 88
4.4.2 Influx+Grafana實時
監(jiān)聽 89
4.5 本章小結(jié) 98
實 踐 篇
第5章 性能監(jiān)控與診斷 99
5.1 性能關(guān)注點與診斷思路 100
5.1.1 系統(tǒng)性能的關(guān)注點 101
5.1.2 性能診斷方法 106
5.2 性能監(jiān)控與診斷 111
5.2.1 CPU風(fēng)險診斷 113
5.2.2 內(nèi)存風(fēng)險診斷 129
5.2.3 IO風(fēng)險診斷 135
5.2.4 網(wǎng)絡(luò)風(fēng)險診斷 139
5.3 DB監(jiān)控之MySQL監(jiān)控 143
5.4 JVM監(jiān)控 146
5.4.1 jps 146
5.4.2 jstat 147
5.4.3 jstack 150
5.4.4 jmap 151
5.4.5 JVisualvm 152
5.4.6 JDK8與JDK7在監(jiān)控方面
的變化 155
5.4.7 trace跟蹤 158
5.5 性能診斷小工具 159
5.6 全鏈路監(jiān)控 160
5.7 本章小結(jié) 167
第6章 系統(tǒng)調(diào)優(yōu) 168
6.1 單機性能調(diào)優(yōu) 170
6.1.1 程序優(yōu)化 170
6.1.2 配置優(yōu)化 172
6.1.3 數(shù)據(jù)庫連接池優(yōu)化 173
6.1.4 線程優(yōu)化 175
6.1.5 DB(數(shù)據(jù)庫)優(yōu)化 178
6.1.6 空間換時間 179
6.1.7 時間換空間 179
6.1.8 數(shù)據(jù)過濾 179
6.1.9 服務(wù)器與操作系統(tǒng)
優(yōu)化 180
6.1.10 JVM優(yōu)化 181
6.2 數(shù)據(jù)結(jié)構(gòu)優(yōu)化 201
6.2.1 業(yè)務(wù)流程優(yōu)化 201
6.2.2 業(yè)務(wù)異步化 201
6.2.3 有效的數(shù)據(jù)冗余 201
6.3 結(jié)構(gòu)優(yōu)化 202
6.3.1 單機結(jié)構(gòu) 202
6.3.2 集群結(jié)構(gòu) 203
6.3.3 分布式結(jié)構(gòu) 204
6.4 本章小結(jié) 211
第7章 綜合實踐之診斷分析與調(diào)優(yōu) 212
7.1 需求采集與分析 215
7.1.1 需求采集 216
7.1.2 需求分析 219
7.1.3 并發(fā)數(shù)計算 223
7.2 測試模型 225
7.3 測試計劃 226
7.4 環(huán)境搭建 227
7.5 腳本開發(fā) 230
7.5.1 瀏覽帖子 230
7.5.2 回復(fù)帖子 237
7.6 數(shù)據(jù)準(zhǔn)備 239
7.6.1 主數(shù)據(jù)準(zhǔn)備 240
7.6.2 數(shù)據(jù)制作方法 241
7.7 場景設(shè)計與實現(xiàn) 246
7.7.1 場景設(shè)計 246
7.7.2 場景實現(xiàn) 247
7.8 測試監(jiān)控 251
7.9 測試執(zhí)行 253
7.9.1 基準(zhǔn)測試 253
7.9.2 配置測試 255
7.9.3 負(fù)載測試 271
7.9.4 穩(wěn)定性測試 282
7.10 結(jié)果分析 288
7.11 測試報告 288
7.12 本章小結(jié) 289
第8章 前端性能測試 290
8.1 前端性能風(fēng)險 291
8.2 前端性能分析原理 292
8.3 前端性能分析工具 293
8.4 本章小結(jié) 302
提 升 篇
第9章 JMeter開發(fā)實踐 303
9.1 JMeter開發(fā)環(huán)境建立 304
9.1.1 源碼獲取 304
9.1.2 配置開發(fā)環(huán)境 304
9.2 JMeter如何進行調(diào)試 307
9.2.1 認(rèn)識項目結(jié)構(gòu) 307
9.2.2 Eclipse中運行JMeter 308
9.2.3 JMeter組件實現(xiàn)介紹 313
9.3 JMeter開發(fā)示例 326
9.3.1 函數(shù)助手開發(fā) 326
9.3.2 Dubbo Sampler開發(fā) 329
9.4 本章小結(jié) 333
第 10章 利用容器技術(shù)快速部署負(fù)載 334
10.1 Docker部署負(fù)載實踐 335
10.1.1 準(zhǔn)備工作 336
10.1.2 啟動負(fù)載 337
10.2 Kubernetes(K8S)集群部署負(fù)載
實踐 339
10.2.1 整體結(jié)構(gòu)介紹 339
10.2.2 準(zhǔn)備工作 340
10.2.3 啟動JMeter集群 342
10.2.4 運行負(fù)載測試 345
10.3 本章小結(jié) 346