●章 性能測試、分析與調優基礎
1.1 性能測試的基礎
1.1.1 性能測試的分類
1.1.2 性能測試的場景
1.2 常見的性能測試指標
1.2.1 響應時間
1.2.2 TPS/QPS
1.2.3 並發用戶
1.2.4 PV/UV
1.2.5 點擊率
1.2.6 吞吐量
1.2.7 資源開銷
1.3 性能測試的目標
1.4 性能測試的基本流程
1.4.1 性能需求分析
1.4.2 制定性能測試計劃
1.4.3 編寫性能測試方案
1.4.4 編寫性能測試案例
1.5 性能分析調優模型
1.6 性能分析調優思想
1.6.1 分層分析
1.6.2 科學論證
1.6.3 問題追溯與歸納總結
1.7 性能調優技術
1.7.1 緩存調優
1.7.2 同步轉異步推送
1.7.3 拆分
1.7.4 任務分解與並行計算
1.7.5 索引與分庫分表
第2章 服務器的性能監控與分析
2.1 Linux服務器的性能監控與分析
2.1.1 通過vmstat深挖服務器的性能問題
2.1.2 如何通過mpstat分析服務器的性能指標
2.1.3 如何通過pidstat發現性能問題
2.1.4 從lsof中能看到什麼
2.1.5 如何通過free看懂內存的真實使用
2.1.6 如何通過top發現問題
2.1.7 網絡流量如何監控
2.1.8 nmon對Linux服務器的整體性能監控
2.2 Windows服務器的性能監控與分析
2.2.1 Windows性能監視器
2.2.2 Windows性能監視器下的性能分析
第3章 Web中間件的性能分析與調優
3.1 Nginx的性能分析與調優
3.1.1 Nginx負載均衡策略的介紹與調優
3.1.2 Nginx進程數的配置調優
3.1.3 Nginx事件處理模型的分析與調優
3.1.4 Nginx客戶端連接數的調優
3.1.5 Nginx中文件傳輸的性能優化
3.1.6 Nginx中FastCGI配置的分析與調優
3.1.7 Nginx的性能監控
3.2 Apache的性能分析與調優
3.2.1 Apache的工作模式選擇和進程數調優
3.2.2 Apache的mod選擇與調優
3.2.3 Apache的KeepAlive調優
3.2.4 Apache的ab壓力測試工具
3.2.5 Apache的性能監控
第4章 應用中間件的性能分析與調優
4.1 Tomcat的性能分析與調優
4.1.1 Tomcat的組件以及工作原理
4.1.2 Tomcat容器Connector性能參數調優
4.1.3 Tomcat容器的I/O分析與調優
4.2 WildFly的性能分析與調優
4.2.1 WildFly Standalone模式介紹
4.2.2 WildFly Standalone模式管理控制臺性能參數調優
4.2.3 WildFly Standalone模式性能監控
第5章 Java應用程序的性能分析與調優
5.1 JVM基礎知識
5.1.1 JVM簡介
5.1.2 類加載器
5.1.3 Java虛擬機棧和原生方法棧
5.1.4 方數據區
5.1.5 堆區
5.1.6 程序計數器
5.1.7 垃圾回收
5.1.8 並行與並發
5.1.9 垃圾回收器
5.2 JVM如何監控
5.2.1 jconsole
5.2.2 jvisualvm
5.2.3 jmap
5.2.4 jstat
5.3 JVM性能分析與診斷
5.3.1 如何讀懂GC日志
5.3.2 jstack
5.3.3 MemoryAnalyzer
5.4 JVM性能調優技巧
5.4.1 如何減少GC
5.4.2 另類Java內存洩漏
第6章 MySQL數據庫的性能分析
6.1 MySQL數據庫的性能監控
6.1.1 如何查看MySQL數據庫的連接數
6.1.2 如何查看MySQL數據庫當前運行的事務與鎖
6.1.3 MySQL中數據庫表的監控
6.1.4 性能測試時MySQL中其他常用監控
6.2 MySQL數據庫的性能定位
6.2.1 慢SQL
6.2.2 執行計劃
第7章 性能測試、分析與調優案例實踐
7.1 JMeter對HTTP服務的性能壓測分析與調優
7.2 LoadRunner對HTTP服務的性能壓測分析與調優
7.3 JMeter對RPC服務的性能壓測分析與調優
7.3.1 JMeter如何通過自定義Sample來對RPC服務進行壓測
7.3.2 JMeter對GRPC服務的性能壓測分析與調優
第8章 安卓APP的性能分析
8.1 adb
8.2 DDMS
8.3 Android Studio profiler
8.4 systrace
內容簡介
本書主要分享作者在多年軟件測試從業中積累的關於性能測試、分析診斷與調優的技巧以及實戰經驗,使讀者在性能測試、分析診斷與調優能力上有進一步的提升。 本書分為8章,首先從性能測試的基礎理論開始介紹,包括性能測試的基本概念、常見的性能指標、性能測試流程等,接著會介紹Linux和Windows服務器的性能指標監控和性能分析技巧、Web中間件和應用中間件的常見性能診斷調優方法、Java應用程序的性能分析診斷調優技巧、MySQL數據庫以及安卓APP的常見性能分析診斷方式,很後會結合LoadRunner、JMeter等常見性能測試工具以及結合HTTP、RPC等常見的傳輸協議一起來剖析真實的性能測試分析調優案例。 本書適合性能測試初學者、測試工程師、測試經理、研發經理、技術經理作為技術參考書,也適合高等院校與培訓學校軟件測試相關專業的師生作為教學參考書。