全棧性能測(cè)試修煉寶典 JMeter實(shí)戰(zhàn)(第2版)
定 價(jià):109.9 元
- 作者:陳志勇 劉瀟 錢琪
- 出版時(shí)間:2021/5/1
- ISBN:9787115560124
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393
- 頁(yè)碼:346
- 紙張:
- 版次:02
- 開本:16開
內(nèi) 容 提 要
本書全面介紹了軟件性能測(cè)試中的實(shí)戰(zhàn)技術(shù)和JMeter的應(yīng)用知識(shí)。本書分4篇10章:基礎(chǔ)篇(第1章)主要講解性能測(cè)試的理論和如何做好性能測(cè)試;工具篇(第2~4章)介紹了利用JMeter進(jìn)行性能測(cè)試腳本開發(fā),如利用HTTP在JMeter中進(jìn)行性能測(cè)試腳本開發(fā);實(shí)踐篇(第5~8章)詳細(xì)講解了性能監(jiān)控與診斷分析,通過(guò)實(shí)踐項(xiàng)目引導(dǎo)讀者進(jìn)行性能測(cè)試工作,包括診斷問(wèn)題、分析與調(diào)優(yōu);提升篇(第9~10章)講解如何基于JMeter做測(cè)試開發(fā)、利用容器技術(shù)提高測(cè)試效率。
本書講解通俗易懂,適合測(cè)試工程師、測(cè)試項(xiàng)目負(fù)責(zé)人、開發(fā)工程師、性能測(cè)試愛(ài)好者閱讀,也適合作為大專院校相關(guān)專業(yè)師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
上萬(wàn)讀者認(rèn)可的、暢銷書作者的新力作
揭秘性能測(cè)試本質(zhì),突破工具局限,除了講解常規(guī)監(jiān)控技術(shù),還增加了全鏈接監(jiān)控。
掌握開發(fā)多種協(xié)議的性能測(cè)試腳本,幫助讀者快速上手性能測(cè)試。
涵蓋工程能效、容器部署環(huán)境、容器部署負(fù)載,多維度幫助讀者掌握性能測(cè)試知識(shí)。
基于JMeter5.x,性能監(jiān)控升級(jí),診斷升級(jí),介紹診斷思路、方法、工具,從原理到實(shí)踐學(xué)以致用。
陳志勇,曾就職于諾亞舟、中國(guó)平安、中國(guó)電信等企業(yè)。從事軟件開發(fā)、項(xiàng)目管理、性能測(cè)試等工作。擅長(zhǎng)性能測(cè)試,擁有豐富的DevOps實(shí)踐經(jīng)驗(yàn),著有《持續(xù)集成與持續(xù)部署實(shí)踐》一書。
劉瀟,曾就職于SAP、中國(guó)電信等企業(yè)。擁有多年測(cè)試開發(fā)、性能測(cè)試、持續(xù)集成及持續(xù)部署經(jīng)驗(yàn)。
錢琪,曾就職于AMD、思科、中國(guó)電信、VMware等企業(yè)。擅長(zhǎng)測(cè)試開發(fā)、自動(dòng)化測(cè)試、性能測(cè)試等技術(shù)。擁有豐富的持續(xù)集成、持續(xù)部署實(shí)踐經(jīng)驗(yàn),著有《持續(xù)集成與持續(xù)部署實(shí)踐》一書。
目 錄
基 礎(chǔ) 篇
第 1章 全棧性能測(cè)試 1
1.1 全棧正當(dāng)時(shí) 2
1.1.1 全棧開發(fā)正當(dāng)時(shí) 2
1.1.2 全棧測(cè)試應(yīng)聲起 2
1.1.3 性能測(cè)試要全棧 3
1.2 開展全棧性能測(cè)試 4
1.2.1 性能測(cè)試要解決的
問(wèn)題 4
1.2.2 如何開展性能測(cè)試 6
1.3 性能測(cè)試技術(shù)棧 8
1.3.1 性能測(cè)試基礎(chǔ) 9
1.3.2 性能監(jiān)聽診斷 11
1.3.3 性能優(yōu)化 13
1.3.4 效率工具/持續(xù)集成 13
1.4 性能測(cè)試相關(guān)術(shù)語(yǔ) 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進(jìn)行錄制 19
2.2.2 Fiddler進(jìn)行腳本錄制 26
2.2.3 JMeter配置代理進(jìn)行
錄制 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 訪問(wèn)地址參數(shù)化 42
2.5.5 HTTP請(qǐng)求默認(rèn)值 43
2.6 JMeter檢查點(diǎn) 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集合點(diǎn) 47
2.8.1 定時(shí)器 47
2.8.2 同步定時(shí)器 47
2.9 JMeter元件運(yùn)行順序 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簡(jiǎn)介 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測(cè)試
插件 74
3.9.3 使用Dubbo取樣器測(cè)試示例服務(wù) 75
3.10 本章小結(jié) 76
第4章 JMeter負(fù)載與監(jiān)聽 77
4.1 負(fù)載模擬 78
4.1.1 場(chǎng)景設(shè)置 78
4.1.2 場(chǎng)景運(yùn)行 80
4.2 影響負(fù)載的X因素 84
4.3 JMeter分布式執(zhí)行 85
4.3.1 執(zhí)行邏輯 85
4.3.2 執(zhí)行示例 86
4.4 測(cè)試監(jiān)聽 87
4.4.1 JMeter監(jiān)聽器 88
4.4.2 Influx+Grafana實(shí)時(shí)
監(jiān)聽 89
4.5 本章小結(jié) 98
實(shí) 踐 篇
第5章 性能監(jiān)控與診斷 99
5.1 性能關(guān)注點(diǎn)與診斷思路 100
5.1.1 系統(tǒng)性能的關(guān)注點(diǎn) 101
5.1.2 性能診斷方法 106
5.2 性能監(jiān)控與診斷 111
5.2.1 CPU風(fēng)險(xiǎn)診斷 113
5.2.2 內(nèi)存風(fēng)險(xiǎn)診斷 129
5.2.3 IO風(fēng)險(xiǎn)診斷 135
5.2.4 網(wǎng)絡(luò)風(fēng)險(xiǎn)診斷 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 單機(jī)性能調(diào)優(yōu) 170
6.1.1 程序優(yōu)化 170
6.1.2 配置優(yōu)化 172
6.1.3 數(shù)據(jù)庫(kù)連接池優(yōu)化 173
6.1.4 線程優(yōu)化 175
6.1.5 DB(數(shù)據(jù)庫(kù))優(yōu)化 178
6.1.6 空間換時(shí)間 179
6.1.7 時(shí)間換空間 179
6.1.8 數(shù)據(jù)過(guò)濾 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 單機(jī)結(jié)構(gòu) 202
6.3.2 集群結(jié)構(gòu) 203
6.3.3 分布式結(jié)構(gòu) 204
6.4 本章小結(jié) 211
第7章 綜合實(shí)踐之診斷分析與調(diào)優(yōu) 212
7.1 需求采集與分析 215
7.1.1 需求采集 216
7.1.2 需求分析 219
7.1.3 并發(fā)數(shù)計(jì)算 223
7.2 測(cè)試模型 225
7.3 測(cè)試計(jì)劃 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 場(chǎng)景設(shè)計(jì)與實(shí)現(xiàn) 246
7.7.1 場(chǎng)景設(shè)計(jì) 246
7.7.2 場(chǎng)景實(shí)現(xiàn) 247
7.8 測(cè)試監(jiān)控 251
7.9 測(cè)試執(zhí)行 253
7.9.1 基準(zhǔn)測(cè)試 253
7.9.2 配置測(cè)試 255
7.9.3 負(fù)載測(cè)試 271
7.9.4 穩(wěn)定性測(cè)試 282
7.10 結(jié)果分析 288
7.11 測(cè)試報(bào)告 288
7.12 本章小結(jié) 289
第8章 前端性能測(cè)試 290
8.1 前端性能風(fēng)險(xiǎn) 291
8.2 前端性能分析原理 292
8.3 前端性能分析工具 293
8.4 本章小結(jié) 302
提 升 篇
第9章 JMeter開發(fā)實(shí)踐 303
9.1 JMeter開發(fā)環(huán)境建立 304
9.1.1 源碼獲取 304
9.1.2 配置開發(fā)環(huán)境 304
9.2 JMeter如何進(jìn)行調(diào)試 307
9.2.1 認(rèn)識(shí)項(xiàng)目結(jié)構(gòu) 307
9.2.2 Eclipse中運(yùn)行JMeter 308
9.2.3 JMeter組件實(shí)現(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ù)載實(shí)踐 335
10.1.1 準(zhǔn)備工作 336
10.1.2 啟動(dòng)負(fù)載 337
10.2 Kubernetes(K8S)集群部署負(fù)載
實(shí)踐 339
10.2.1 整體結(jié)構(gòu)介紹 339
10.2.2 準(zhǔn)備工作 340
10.2.3 啟動(dòng)JMeter集群 342
10.2.4 運(yùn)行負(fù)載測(cè)試 345
10.3 本章小結(jié) 346