軟件性能測試、分析與調優實踐之路(第2版)(簡體書)
商品資訊
ISBN13:9787302654247
出版社:清華大學出版社(大陸)
作者:張永清
出版日:2024/03/01
裝訂/頁數:平裝/274頁
規格:24cm*17cm (高/寬)
版次:二版
商品簡介
作者簡介
張永清,從事功能測試、自動化測試、性能測試、Java軟件開發、大數據開發、架構師等工作十多年,在自動化測試設計、性能測試設計、性能診斷、性能調優、分布式架構設計等方面積累了多年經驗。參與過的系統涉及公安、互聯網、移動互聯網、大數據、人工智能等領域。先後任職於江蘇飛搏軟件、蘇寧大數據研發中心、蘇寧研究院、蘇寧人工智能研發中心、紫金普惠研發中心、福特汽車工程研究有限公司,歷任測試經理、技術經理、部門經理、高級架構師等職位。重點關注大數據、圖像處理、高性能分布式架構設計等領域。著有圖書《軟件性能測試、分析與調優實踐之路》《Robot Framework自動化測試框架核心指南》。
名人/編輯推薦
《軟件性能測試、分析與調優實踐之路》面向軟件研發和測試崗,理論和實踐相結合,詳細講解軟件性能分析、診斷和調優實踐。
本書的內容更側重於如何去發現性能問題、分析診斷性能問題,以及對發現的性能問題進行調優。
序
在經歷了傳統互聯網時代和移動互聯網時代之後,我們又迎來了大數據時代和人工智能(AI)時代。但是,不管哪個IT時代,軟件的性能始終是用戶體驗的一個重要環節。如目前最火熱的AI應用ChatGPT,?如果沒有一個很快的性能,那麼它在和人類對話時,就會顯得很遲鈍,其性能和穩定性直接決定了ChatGPT?能否從容地服務於全球17億以上的用戶訪問。
本書升級說明
隨著軟件技術的發展和更新換代,軟件系統越來越複雜,人工智能模型也越來越大,與之對應的是性能要求越來越高,系統穩定要求更加突出。正是在這樣的背景和需求下,同時也在本書前一版《軟件性能測試、分析與調優實踐之路》大量讀者的反饋和建議下,迎來了這本書的第2版。
本書在第1版的基礎上,針對讀者的建議做了很多修改和補充,主要包括:
?對第1章的性能調優技術和思想進行細化和補充完善。
?在第4章的應用中間件的性能分析與調優中補充了Spring Boot的性能調優。
?在第6章的MySQL數據庫性能分析中增加了性能定位和調優實踐。
?在第7章的性能測試、分析與調優案例實踐中補充了更多的實踐案例和筆者多年的經驗總結。
?增加第9章前端性能分析。
?升級本書中用到的相關軟件版本,以及對第1版中的部分錯誤進行修正和完善。
本書適合的讀者
本書面向軟件研發和測試崗的讀者,理論和實踐相結合,詳細講解軟件性能分析、診斷和調優實踐。本書的內容更側重於如何去發現性能問題、分析診斷性能問題,以及對發現的性能問題進行調優。升級之後的第2版更加貼近當前軟件測試技術的更新換代,筆者堅信讀完本書的讀者,肯定不會再為“性能問題”而發愁。
配套資源下載與技術支持
本書提供了PPT課件,並建立了讀者交流微信群,可用微信掃描下面二維碼獲取相關資源。如果下載有疑問,請聯繫booksaga@163.com,郵件主題為“軟件性能測試、分析與調優實踐之路”。
鳴 謝
學習和交流是一個持久的過程,我們需要不斷地去適應這個高速發展的技術時代,軟件技術永遠在不斷地變革,軟件性能也會越來越快。從本書第1版的讀者反饋情況來看,讀者已經建立對本書的長期信任,所以這本書未來也會順應技術的發展持續更新下去。
感謝讀者對第1版的支持和建議,正是因為有了大家的支持和建議,才有了這本書的第2版。也感謝讀者指出了第1版中很多的不足之處,才讓筆者有了更大的寫作動力。
特別感謝清華大學出版社夏毓彥編輯一直對我的支持和鼓勵,特別感謝蔣彪等眾多摯友在我最困難的時候給予很多的幫助,特別感謝福特中國企業技術高級總監黃紀南為本書寫推薦序,特別感謝部門領導周揚對我的鼓勵。
由於筆者水平和時間的限制,書中難免會存在一些不足之處,還請讀者指正,也懇請讀者提出更多寶貴的意見和建議。
筆者,於南京
2024年1月
目次
第1章 性能測試、分析與調優基礎 1
1.1 性能測試的基礎 1
1.1.1 性能測試的分類 2
1.1.2 性能測試的場景 3
1.2 常見的性能測試指標 3
1.2.1 響應時間 3
1.2.2 TPS/QPS 3
1.2.3 並發用戶 4
1.2.4 PV/UV 4
1.2.5 點擊率 4
1.2.6 吞吐量 5
1.2.7 資源開銷 5
1.3 性能測試的目標 5
1.4 性能測試的基本流程 6
1.4.1 性能需求分析 6
1.4.2 制定性能測試計劃 7
1.4.3 編寫性能測試方案 8
1.4.4 編寫性能測試案例 9
1.4.5 搭建性能測試環境 10
1.4.6 構造性能測試數據 10
1.5 性能分析調優模型 11
1.6 性能分析調優思想 12
1.6.1 分層分析 12
1.6.2 科學論證 13
1.6.3 問題追溯與歸納總結 14
1.7 性能調優技術 14
1.7.1 緩存調優 14
1.7.2 同步轉異步推送 17
1.7.3 削峰填谷 17
1.7.4 拆分 19
1.7.5 任務分解與並行計算 19
1.7.6 索引與分庫分表 20
1.7.7 層層過濾 22
第2章 服務器的性能監控與分析 23
2.1 Linux服務器的性能監控與分析 23
2.1.1 通過vmstat深挖服務器的性能問題 23
2.1.2 如何通過mpstat分析服務器的性能指標 26
2.1.3 如何通過pidstat發現性能問題 28
2.1.4 從lsof中能看到什麼 34
2.1.5 如何通過free看懂內存的真實使用 42
2.1.6 如何通過top發現問題 42
2.1.7 網絡流量如何監控 45
2.1.8 nmon對Linux服務器的整體性能監控 51
2.2 Windows服務器的性能監控與分析 54
2.2.1 Windows性能監視器 54
2.2.2 Windows性能監視器下的性能分析 64
第3章 Web中間件的性能分析與調優 66
3.1 Nginx的性能分析與調優 66
3.1.1 Nginx負載均衡策略的介紹與調優 66
3.1.2 Nginx進程數的配置調優 68
3.1.3 Nginx事件處理模型的分析與調優 69
3.1.4 Nginx客戶端連接數的調優 71
3.1.5 Nginx中文件傳輸的性能優化 71
3.1.6 Nginx中FastCGI配置的分析與調優 73
3.1.7 Nginx的性能監控 75
3.2 Apache的性能分析與調優 76
3.2.1 Apache的工作模式選擇和進程數調優 76
3.2.2 Apache的mod選擇與調優 80
3.2.3 Apache的KeepAlive調優 82
3.2.4 Apache的ab壓力測試工具 83
3.2.5 Apache的性能監控 84
第4章 應用中間件的性能分析與調優 87
4.1 Tomcat的性能分析與調優 87
4.1.1 Tomcat的組件以及工作原理 87
4.1.2 Tomcat容器Connector性能參數調優 92
4.1.3 Tomcat容器的I/O分析與調優 92
4.1.4 SpringBoot中的Tomcat調優 95
4.2 WildFly的性能分析與調優 97
4.2.1 WildFly Standalone模式介紹 97
4.2.2 WildFly Standalone模式管理控制臺性能參數調優 99
4.2.3 WildFly Standalone模式性能監控 108
第5章 Java應用程序的性能分析與調優 117
5.1 JVM基礎知識 117
5.1.1 JVM簡介 117
5.1.2 類加載器 118
5.1.3 Java虛擬機棧和原生方法棧 120
5.1.4 方法區與元數據區 121
5.1.5 堆區 121
5.1.6 程序計數器 122
5.1.7 垃圾回收 123
5.1.8 並行與並發 128
5.1.9 垃圾回收器 128
5.2 JVM如何監控 129
5.2.1 jconsole 129
5.2.2 jvisualvm 135
5.2.3 jmap 145
5.2.4 jstat 146
5.3 JVM性能分析與診斷 147
5.3.1 如何讀懂GC日志 147
5.3.2 jstack 152
5.3.3 MemoryAnalyzer 157
5.4 JVM性能調優技巧 165
5.4.1 如何減少GC 165
5.4.2 另類Java內存泄漏 166
第6章 MySQL數據庫的性能分析 168
6.1 MySQL數據庫的性能監控 168
6.1.1 如何查看MySQL數據庫的連接數 168
6.1.2 如何查看MySQL數據庫當前運行的事務與鎖 169
6.1.3 MySQL中數據庫表的監控 171
6.1.4 性能測試時MySQL中其他常用監控 174
6.2 MySQL數據庫的性能定位 176
6.2.1 慢SQL 177
6.2.2 執行計劃 178
6.2.3 MySQL數據庫性能定位步驟 180
6.3 MySQL數據庫查詢的性能調優 181
6.3.1 合理創建索引 181
6.3.2 查詢優化 182
第7章 性能測試、分析與調優案例實踐 186
7.1 JMeter對HTTP服務的性能壓測分析與調優 186
7.2 LoadRunner對HTTP服務的性能壓測分析與調優 196
7.3 JMeter對RPC服務的性能壓測分析與調優 211
7.3.1 JMeter如何通過自定義Sample來對RPC服務進行壓測 211
7.3.2 JMeter對GRPC服務的性能壓測分析與調優 220
7.4 JMeter對MySQL性能壓測分析與調優 227
7.4.1 如何利用JMeter為MySQL數據庫構造測試數據 227
7.4.2 JMeter對MySQL數據庫的性能壓測分析與調優 233
7.5 常見性能問題分析總結 237
第8章 安卓APP的性能分析 243
8.1 adb 243
8.2 DDMS 245
8.3 Android Studio Profiler 254
8.4 systrace 261
第9章 前端性能分析 263
9.1 谷歌瀏覽器開發工具Performance介紹 263
9.2 使用Performance來查看和定位頁面性能 266
9.3 前端性能調優建議 272
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

