深入性能測試——LoadRunner性能測試、流程、監(jiān)控、調(diào)優(yōu)全程實戰(zhàn)
-
【作 者】黃文高 編著
【I S B N 】978-7-5226-0969-0
【責(zé)任編輯】王開云
【適用讀者群】科技
【出版時間】2022-10-26
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第2版第1次印刷
【頁 數(shù)】512
【千字?jǐn)?shù)】751
【印 張】32
【定 價】¥118
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要深入系統(tǒng)地講解性能測試及性能調(diào)優(yōu)相關(guān)技術(shù)。全書緊緊圍繞企業(yè)現(xiàn)階段性能測試的核心內(nèi)容進(jìn)行編排,囊括了性能測試的三大核心內(nèi)容,即性能測試過程、腳本開發(fā)、服務(wù)器監(jiān)控與調(diào)優(yōu)。其中,性能測試過程的內(nèi)容主要包括性能測試流程、性能工作負(fù)載建模和生產(chǎn)環(huán)境下的性能測試;腳本開發(fā)的內(nèi)容包括特殊協(xié)議的腳本開發(fā)、接口性能的腳本開發(fā)以及全鏈路性能測試的腳本開發(fā);服務(wù)器監(jiān)控與調(diào)優(yōu)的內(nèi)容主要包括操作系統(tǒng)資源的監(jiān)控與調(diào)優(yōu)、Apache服務(wù)器監(jiān)控與調(diào)優(yōu)、Tomcat服務(wù)器監(jiān)控與調(diào)優(yōu)、Nginx服務(wù)器監(jiān)控與調(diào)優(yōu)、MS SQL服務(wù)器監(jiān)控與調(diào)優(yōu)、MySQL服務(wù)器監(jiān)控與調(diào)優(yōu)、Redis服務(wù)器監(jiān)控與調(diào)優(yōu)和前端性能優(yōu)化的23大規(guī)則。
本書適用于測試工程師或已經(jīng)在做性能測試的朋友,為了讓一些想進(jìn)入性能測試領(lǐng)域工作但缺少性能測試相關(guān)基礎(chǔ)知識的朋友也能使用本書,作者免費提供了《性能測試基礎(chǔ)—LoadRunner完全講義》電子書,可通過掃描本書前言后面的二維碼獲取,通過二維碼還可獲取本書所有的相關(guān)代碼等學(xué)習(xí)資源。希望本書能帶領(lǐng)大家暢游性能測試的精彩世界。
飽含作者超10年的軟件測試及授課經(jīng)驗
理論與實操并重,知識點與案例無縫銜接
詳細(xì)講解性能測試全流程技術(shù)
主流操作系統(tǒng)、Web應(yīng)用、數(shù)據(jù)庫、存儲等服務(wù)器以及前端的性能監(jiān)控、調(diào)優(yōu)一站掌握
作者贈送LoadRunner電子書、相關(guān)課程視頻
本書是《深入性能測試—LoadRunner性能測試、流程、監(jiān)控、調(diào)優(yōu)全程實戰(zhàn)剖析》的升級版,筆者用了整整兩年的時間完成了本書的創(chuàng)作,相比本書第一版,現(xiàn)在的內(nèi)容可以說已經(jīng)是脫胎換骨。新增了很多當(dāng)前企業(yè)開發(fā)中流行的、急需的性能測試及調(diào)優(yōu)的技術(shù)內(nèi)容,當(dāng)前,這些相關(guān)內(nèi)容系統(tǒng)性學(xué)習(xí)資料極少。
筆者從事軟件測試16年,從事性能測試13年,見證了國內(nèi)軟件測試從起步到成熟的整個過程。10年前國內(nèi)很多公司沒有軟件測試團(tuán)隊,而今天一般的研發(fā)公司都有成型的軟件測試團(tuán)隊。從10年前的手工測試,到今天不斷完成接口測試、自動化測試、性能測試。
性能測試在近10年時間取得了長足的發(fā)展,特別是在移動互聯(lián)不斷發(fā)展的情況下,站點訪問的用戶越來越多,對系統(tǒng)的性能要求越來越高。10年前性能測試的招聘崗位很少,那時候?qū)π阅軠y試的要求很低,只要掌握性能測試工具的使用即可找到一份不錯的工作。后來,企業(yè)要求性能測試工程師能夠監(jiān)控服務(wù)器的一些指標(biāo),不包括對全棧指標(biāo)進(jìn)行監(jiān)控,但現(xiàn)在性能測試的高度和要求已經(jīng)大幅度提高,從簡單的腳本開發(fā)到全鏈腳本開發(fā),從簡單的場景監(jiān)控到混合場景百分比模型監(jiān)控,從單點服務(wù)器監(jiān)控到全鏈路場景,從只要監(jiān)控數(shù)據(jù)到分析和調(diào)優(yōu)等。
這也是筆者為何對此書的升級付出大量精力的原因,花了整整兩年時間升級這本書,就是希望能夠?qū)⑿阅軠y試過程中需要監(jiān)控和分析的所有對象都覆蓋到,這樣可以更好地幫助讀者解決性能測試過程中遇到的問題,也可以更好地幫助讀者完善性能測試技術(shù)體系。
本次升級主要是更新性能調(diào)優(yōu)部分的內(nèi)容,這些升級的內(nèi)容可以覆蓋企業(yè)性能測試常見的測試要求,包括:
(1)腳本開發(fā)。本書在腳本開發(fā)部分做了重點升級,主要是升級了接口性能測試腳本開發(fā)和全鏈路腳本開發(fā),以前企業(yè)要求的性能測試只需要會簡單的腳本開發(fā),但現(xiàn)在性能測試為了更好地模擬業(yè)務(wù)場景,都要求開發(fā)全鏈路腳本,將每個場景做成一個全鏈路,這樣就可以更完美地模擬真實的業(yè)務(wù)場景。
(2)全鏈路中每個節(jié)點的監(jiān)控。本書在調(diào)優(yōu)方面主要升級的內(nèi)容包括前端優(yōu)化,隨著前端界面的元素越來越復(fù)雜,前端優(yōu)化在性能測試過程中越來越重要。數(shù)據(jù)庫方面性能優(yōu)化的升級主要包括關(guān)系型數(shù)據(jù)庫MySQL的監(jiān)控與優(yōu)化、非關(guān)系型數(shù)據(jù)庫Redis的監(jiān)控與優(yōu)化、Nginx的性能監(jiān)控與優(yōu)化,完善了JVM的監(jiān)控與優(yōu)化。
(3)性能測試流程。深入剖析了性能測試的整個過程,詳細(xì)介紹性能測試每個節(jié)點的工作內(nèi)容、性能測試過程中的工作負(fù)載建模(建模是性能設(shè)計中最重要的環(huán)境,保證性能測試模擬的真實性),詳細(xì)介紹生產(chǎn)環(huán)境下如何進(jìn)行性能測試。
本書完全可以脫離性能測試工具來介紹性能測試,因為現(xiàn)在性能測試的核心是性能優(yōu)化,性能測試工具只是模擬產(chǎn)生壓力的一種方式,并不能提供更全面的監(jiān)控信息,現(xiàn)在需要監(jiān)控全鏈路過程中的每個服務(wù)器節(jié)點,只有這樣才能更好地幫助讀者解決性能問題,這也是本書最大的特點。
由于本次升級的內(nèi)容比較多,書稿創(chuàng)作完成后達(dá)900多頁,其中既包含了性能測試基礎(chǔ)知識,又深入系統(tǒng)地講解了性能測試與調(diào)優(yōu)的內(nèi)容。但顯然,如果把這些內(nèi)容放在一起,對于有一定測試基礎(chǔ)的讀者來講會產(chǎn)生不必要的成本支出。因此,本書把性能測試的基礎(chǔ)知識部分,即最新版的《性能測試基礎(chǔ)—LoadRunner完全講義》,制作成了電子版的形式,免費向零基礎(chǔ)讀者提供。有需要的讀者可掃描下面的二維碼獲取相關(guān)電子書的內(nèi)容,以及本書中的源碼等學(xué)習(xí)資源。
在本書完成之際,感謝那些曾經(jīng)幫助、支持和鼓勵過我的朋友。
由于編者水平有限,很多內(nèi)容是自己的經(jīng)驗總結(jié),謬誤之處在所難免,歡迎廣大讀者批評指正。讀者在閱讀本書過程中如有任何不清楚的問題和批評、建議,可以發(fā)郵件到arivnhuang@163.com或直接加編者微信13590101972,編者將盡力給您答疑解惑。
最后,感謝您購買此書,希望您在書中可以找到那些正在困擾著您的問題的答案。
編 者
2022年5月
第一版前言
第1章 性能測試過程 1
1.1 性能測試過程概述 1
1.2 性能測試設(shè)計 2
1.2.1 需求調(diào)研 2
1.2.2 業(yè)務(wù)模型 3
1.2.3 場景模型 5
1.2.4 數(shù)據(jù)設(shè)計 6
1.2.5 環(huán)境設(shè)計 8
1.3 性能測試構(gòu)建 9
1.3.1 用例設(shè)計 9
1.3.2 腳本開發(fā) 11
1.3.3 場景設(shè)計 12
1.3.4 搭建測試環(huán)境 13
1.3.5 準(zhǔn)備數(shù)據(jù) 13
1.4 性能測試過程執(zhí)行 13
1.5 性能測試分析、診斷、調(diào)節(jié) 13
1.6 小結(jié) 14
第2章 工作負(fù)載建模 15
2.1 什么是工作負(fù)載建模 15
2.2 工作負(fù)載建模主要活動 16
2.2.1 定義性能測試目標(biāo) 16
2.2.2 理解應(yīng)用程序 16
2.2.3 關(guān)鍵場景識別 17
2.2.4 確定關(guān)鍵場景使用路徑 17
2.2.5 確定唯一測試參數(shù) 18
2.2.6 確定場景中的相對負(fù)載分布 19
2.2.7 確定目標(biāo)負(fù)載水平 19
2.2.8 其他項設(shè)置 20
2.3 小結(jié) 20
第3章 生產(chǎn)系統(tǒng)性能測試 21
3.1 什么是生產(chǎn)環(huán)境 21
3.2 生產(chǎn)環(huán)境性能測試風(fēng)險 22
3.3 為什么需要在生產(chǎn)環(huán)境下進(jìn)行性能測試 23
3.4 生產(chǎn)環(huán)境性能測試誤解 24
3.5 生產(chǎn)環(huán)境下性能測試最佳實踐 25
3.6 小結(jié) 26
第4章 特殊協(xié)議 27
4.1 Windows Sockets(WinSock)協(xié)議 27
4.1.1 Windows Sockets錄制選項設(shè)置 27
4.1.2 Windows Sockets錄制 29
4.1.3 Windows Sockets數(shù)據(jù)操作 33
4.1.4 關(guān)于LRS函數(shù) 35
4.2 郵件服務(wù)協(xié)議 41
4.2.1 郵件服務(wù)協(xié)議簡介 41
4.2.2 郵件服務(wù)協(xié)議錄制 43
4.2.3 腳本分析 48
4.2.4 關(guān)于SMTP和POP3函數(shù) 50
4.3 小結(jié) 52
第5章 基于接口性能測試 53
5.1 WSDL協(xié)議簡介 53
5.2 Web Service接口測試 56
5.2.1 選擇Web Services協(xié)議 56
5.2.2 選擇Manage Services管理待測試的
服務(wù) 57
5.2.3 Import Services導(dǎo)入服務(wù) 58
5.2.4 添加服務(wù)調(diào)用(Add Service Call) 60
5.2.5 調(diào)試腳本 63
5.2.6 增強腳本 64
5.3 web_service_call函數(shù) 65
5.4 Java環(huán)境 68
5.5 JavaVuser常用函數(shù) 69
5.6 JavaVuser腳本 70
5.6.1 手工插入Java的方法 71
5.6.2 增強Java腳本 72
5.6.3 Java腳本關(guān)聯(lián) 72
5.6.4 Java腳本參數(shù)化 72
5.7 web_submit_data 73
5.8 web_custom_request 76
5.9 小結(jié) 80
第6章 全鏈路腳本開發(fā) 81
6.1 什么是全鏈路性能腳本 81
6.2 如何將腳本封裝成.h頭文件 83
6.3 業(yè)務(wù)場景對全鏈路腳本的影響 86
6.3.1 關(guān)鍵場景識別 87
6.3.2 確定主要場景導(dǎo)航路徑 89
6.4 全鏈路腳本開發(fā)實例 89
6.5 小結(jié) 94
第7章 操作系統(tǒng)性能監(jiān)控與調(diào)優(yōu) 95
7.1 Windows操作系統(tǒng)監(jiān)控 95
7.1.1 LoadRunner直接監(jiān)控 95
7.1.2 Windows性能工具監(jiān)控 96
7.1.3 Windows計數(shù)器 101
7.2 Linux/UNIX操作系統(tǒng)監(jiān)控 107
7.2.1 程序執(zhí)行模型 107
7.2.2 CPU監(jiān)控 110
7.2.3 內(nèi)存監(jiān)控 115
7.2.4 磁盤監(jiān)控 119
7.2.5 網(wǎng)絡(luò)監(jiān)控 124
7.3 nmon系統(tǒng)資源監(jiān)控工具 128
7.3.1 nmon工作流程 128
7.3.2 nmon命令 129
7.3.3 結(jié)果分析 137
7.4 小結(jié) 138
第8章 Apache監(jiān)控與調(diào)優(yōu) 139
8.1 Apache目錄結(jié)構(gòu) 139
8.2 Apache配置文件 140
8.3 Apache監(jiān)控 144
8.3.1 status模塊監(jiān)控 144
8.3.2 Apachetop監(jiān)控 151
8.4 Apache調(diào)優(yōu) 154
8.4.1 硬件與操作系統(tǒng) 154
8.4.2 運行時的配置 155
8.4.3 編譯時的配置 159
8.5 MPM調(diào)優(yōu) 161
8.5.1 選擇MPM 161
8.5.2 MPM模塊工作原理 162
8.5.3 MPM相關(guān)參數(shù) 165
8.6 日志文件分析 171
8.6.1 access_log日志文件 171
8.6.2 error_log日志文件 173
8.6.3 日志文件分析工具或指令 173
8.7 小結(jié) 175
第9章 Tomcat監(jiān)控與調(diào)優(yōu) 176
9.1 Tomcat結(jié)構(gòu)體系 176
9.2 Tomcat監(jiān)控 180
9.2.1 Status頁監(jiān)控 180
9.2.2 JConsole監(jiān)控 182
9.2.3 Probe監(jiān)控 192
9.3 Tomcat調(diào)優(yōu) 197
9.3.1 Tomcat配置 198
9.3.2 連接器配置 202
9.3.3 APR配置 207
9.4 JVM調(diào)優(yōu) 211
9.4.1 JVM內(nèi)存模型 211
9.4.2 堆與棧 214
9.4.3 PermGen與Metaspace的區(qū)別 215
9.4.4 GC回收機制 218
9.4.5 垃圾收集算法 219
9.4.6 垃圾回收器 223
9.4.7 類加載過程 230
9.4.8 JVM參數(shù)設(shè)置 231
9.5 日志文件分析 236
9.5.1 日志文件類型 236
9.5.2 日志文件配置 236
9.6 小結(jié) 239
第10章 Nginx監(jiān)控與調(diào)優(yōu) 240
10.1 Nginx三大工作模塊 241
10.1.1 Nginx啟動、停止 241
10.1.2 Nginx工作原理 242
10.1.3 Nginx進(jìn)程模型 243
10.1.4 Nginx Http請求過程 243
10.2 Nginx配置上下文 245
10.3 Nginx監(jiān)控 245
10.3.1 status監(jiān)控 246
10.3.2 Ngxtop監(jiān)控 247
10.4 Nginx負(fù)載均衡 251
10.4.1 負(fù)載均衡概述 251
10.4.2 Nginx負(fù)載均衡工作原理 251
10.4.3 設(shè)置Http負(fù)載均衡 252
10.4.4 負(fù)載均衡算法 253
10.4.5 設(shè)置服務(wù)器權(quán)重 255
10.4.6 慢啟動 257
10.4.7 限制連接數(shù) 257
10.4.8 開啟會話持久性 257
10.5 健康檢查 259
10.5.1 被動式健康檢查 259
10.5.2 主動式健康檢查 260
10.5.3 強制健康檢查 262
10.6 Nginx壓縮與解壓 263
10.6.1 啟用壓縮 264
10.6.2 啟用解縮 265
10.6.3 發(fā)送壓縮文件 266
10.7 Nginx緩存 266
10.7.1 啟用響應(yīng)緩存 266
10.7.2 與進(jìn)程相關(guān)的緩存 268
10.7.3 指定緩存的請求 268
10.7.4 限制或禁用響應(yīng)緩存 269
10.7.5 清除緩存內(nèi)容 269
10.7.6 字節(jié)范圍緩存 271
10.7.7 組合緩存配置實例 272
10.8 小結(jié) 273
第11章 MS SQL數(shù)據(jù)庫監(jiān)控與調(diào)優(yōu) 274
11.1 監(jiān)控SQL Server資源 274
11.1.1 瓶頸類型 274
11.1.2 內(nèi)存瓶頸 275
11.1.3 瓶頸類型 277
11.1.4 磁盤瓶頸 277
11.1.5 Wait Statistics監(jiān)控 278
11.2 SQL Server等待類型 279
11.2.1 SQL等待類型 279
11.2.2 如何跟蹤等待 289
11.2.3 阻塞與鎖 291
11.3 SQL Profiler監(jiān)控查詢 296
11.3.1 SQL Trace相關(guān)術(shù)語 296
11.3.2 SQL Trace選項 299
11.3.3 捕獲阻塞事件 303
11.3.4 捕獲Showplan XML數(shù)據(jù) 305
11.3.5 捕獲死鎖圖 308
11.3.6 SQL Profiler識別長時間查詢 311
11.3.7 Profile Trace與System Monitor
關(guān)聯(lián) 315
11.4 索引調(diào)優(yōu) 317
11.4.1 索引原理 317
11.4.2 填充因子 317
11.4.3 聚集索引 318
11.4.4 非聚集索引 321
11.4.5 堆表 323
11.4.6 用DTA調(diào)校索引 323
11.4.7 索引維護(hù) 329
11.5 T-SQL調(diào)優(yōu) 333
11.5.1 NOT IN和NOT EXISTS 333
11.5.2 謂詞的使用 334
11.5.3 為中間結(jié)果使用臨時表 335
11.6 小結(jié) 336
第12章 MySQL性能監(jiān)控與調(diào)優(yōu) 337
12.1 使用LoadRunner直接壓測MySQL 337
12.2 慢查詢 339
12.2.1 查看慢查詢相關(guān)設(shè)置 339
12.2.2 啟動和設(shè)置慢查詢 340
12.2.3 慢查詢?nèi)罩疚募治?340
12.2.4 慢查詢?nèi)罩痉治龉ぞ?br> mysqldumpslow 341
12.3 EXPLAIN語句 343
12.3.1 EXPLAIN語法 343
12.3.2 EXPLAIN Output Columns輸出列 344
12.3.3 EXPLAIN Join Types連接方式 347
12.3.4 EXPLAIN Extra Information額外
信息 349
12.4 profile語句 352
12.4.1 開啟profile 352
12.4.2 show profile 352
12.5 索引 357
12.5.1 索引結(jié)構(gòu) 357
12.5.2 索引常用策略 361
12.5.3 索引優(yōu)缺點 372
12.6 查詢執(zhí)行過程 372
12.7 SQL執(zhí)行順序 376
12.8 優(yōu)化數(shù)據(jù)類型和優(yōu)化訪問數(shù)據(jù) 378
12.8.1 優(yōu)化數(shù)據(jù)類型 378
12.8.2 常見數(shù)據(jù)類型 379
12.8.3 優(yōu)化訪問數(shù)據(jù) 383
12.9 狀態(tài)監(jiān)控 384
12.9.1 SHOW STATUS語句 384
12.9.2 SHOW STATUS變量 386
12.10 配置文件 389
12.10.1 使用選項文件 389
12.10.2 配置文件常見設(shè)置 390
12.11 小結(jié) 396
第13章 Redis性能監(jiān)控與調(diào)優(yōu) 397
13.1 使用LoadRunner調(diào)用Redis API進(jìn)行
壓測 397
13.2 Redis Slowlog 401
13.2.1 什么是Slowlog 401
13.2.2 設(shè)置Slowlog 401
13.2.3 查看Slowlog 402
13.3 持久化 403
13.3.1 RDB持久化 404
13.3.2 AOF持久化 408
13.3.3 RDB和AOF的優(yōu)缺點 411
13.3.4 備份策略RDB與AOF相互協(xié)同 411
13.4 主從復(fù)制 413
13.4.1 配置主從復(fù)制 413
13.4.2 斷開復(fù)制 415
13.4.3 主從復(fù)制工作原理 416
13.4.4 心跳 421
13.4.5 master關(guān)閉持久化,保證復(fù)制的
安全性 422
13.4.6 Redis復(fù)制如何處理過期的key 423
13.4.7 允許只寫入N個附加的副本 423
13.4.8 只讀性質(zhì)的slave 424
13.4.9 重新啟動和故障轉(zhuǎn)移后的部分
同步 424
13.5 哨兵 425
13.5.1 為什么需要Sentinel 425
13.5.2 部署Sentinel 425
13.5.3 主觀下線和客觀下線 427
13.5.4 故障轉(zhuǎn)移 428
13.5.5 Sentinel配置項 429
13.6 內(nèi)存優(yōu)化 430
13.6.1 獲取內(nèi)存數(shù)據(jù) 430
13.6.2 內(nèi)存消耗模型 432
13.6.3 內(nèi)存上限設(shè)置 434
13.6.4 回收內(nèi)存策略 434
13.7 性能測試 436
13.7.1 性能測試工具redis-benchmark 436
13.7.2 延遲監(jiān)控與分析 439
13.7.3 big key 446
13.7.4 Hot key 448
13.7.5 緩存粒度 451
13.7.6 緩存穿透 452
13.7.7 緩存擊穿 454
13.7.8 緩存雪崩 456
13.8 小結(jié) 457
第14章 前端性能監(jiān)控與調(diào)優(yōu) 458
14.1 前端監(jiān)控工具YSlow 458
14.1.1 安裝YSlow 458
14.1.2 使用YSlow 459
14.2 23大前端性能規(guī)則 462
14.2.1 最小化HTTP請求 462
14.2.2 使用內(nèi)容發(fā)布網(wǎng)絡(luò) 463
14.2.3 添加Expires頭 463
14.2.4 Gzip組件 465
14.2.5 將樣式表放在頂部 465
14.2.6 將腳本放在底部 466
14.2.7 避免使用CSS表達(dá)式 468
14.2.8 將JavaScript和CSS置于外部 469
14.2.9 減少DNS查找 471
14.2.10 精簡JavaScript和CSS 472
14.2.11 避免重定向 474
14.2.12 刪除重復(fù)腳本 478
14.2.13 配置ETags 478
14.2.14 使AJAX可緩存 480
14.2.15 AJAX使用Get請求 481
14.2.16 減少DOM數(shù) 483
14.2.17 避免空鏈接 485
14.2.18 避免404錯誤 486
14.2.19 減少Cookie的大小 488
14.2.20 使用一些空閑Cookie的域 492
14.2.21 避免過濾器 494
14.2.22 不要縮放圖片 496
14.2.23 使用icon格式圖片和使用緩存 496
14.3 小結(jié) 497
- 功能材料制備與表征實驗指導(dǎo)書 [龔偉平 趙軍峰 梅海娟 等編著]
- Python 語言程序設(shè)計實踐指導(dǎo) [主編 張雙獅]
- Python程序設(shè)計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- Python語言同步案例習(xí)題精解 [主編 肖朝暉]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]
- Python數(shù)據(jù)分析之道——Thinking in Pandas [[美]漢娜·斯捷潘內(nèi)克(Hannah S]
- python青少年趣味編程 [千鋒教育 編著]
- Python程序設(shè)計與應(yīng)用 [主編 張廣淵]
- Python基礎(chǔ)實例教程 [秦穎 編著]
- Python程序設(shè)計教程 [主編 李治國 武春嶺]
- 嵌入式Qt開發(fā)項目教程 [主編 王浩 陳邦瓊]
- 常用工具軟件實用教程 [劉 毅 張 波]
- 多媒體CAI課件制作教程 [主 編 范強]
- LoadRunner性能測試完全講義(第二版) [黃文高 編著]
- 深入性能測試——LoadRunner性能測試、流程、監(jiān)控、調(diào)優(yōu)全程實戰(zhàn)剖析 [何月順 黃文高 編著]
- 常用工具軟件實用教程(第二版) [張懷中 王國順]
- 輸水管線工程風(fēng)險管理
- 不息的水脈—大運河講談錄
- 三峽梯級電站水資源決策支持系統(tǒng)研究與
- 海南黎族民俗文化鑒賞
- C++案例項目精講
- 信息系統(tǒng)項目管理師章節(jié)習(xí)題與考點特訓(xùn)
- 武術(shù)基礎(chǔ)教程
- 計算機網(wǎng)絡(luò)實訓(xùn)教程
- HCIA-Datacom認(rèn)證題庫分類精講
- SwiftUI完全開發(fā)
- 網(wǎng)絡(luò)規(guī)劃設(shè)計師備考一本通
- 用英語介紹中國古今科技
- 農(nóng)村新型社區(qū)移民的社會適應(yīng)性問題研究
- 用英語介紹中國美食文化
- 用英語介紹中國名人
- 第四代系統(tǒng)論:全息系統(tǒng)論—全息系統(tǒng)的