本書系統(tǒng)、詳細地介紹了鯤鵬計算產業(yè)的現(xiàn)狀及應用。本書首先講述了鯤鵬生態(tài)應用開發(fā)的基礎知識,其中包括計算產業(yè)發(fā)展概述、計算產業(yè)組成、鯤鵬生態(tài)概述以及鯤鵬處理器的相關知識;接著系統(tǒng)地講解了鯤鵬云平臺上軟件遷移的原理和步驟,并基于大量實驗操作介紹了由華為開發(fā)的鯤鵬代碼掃描和移植工具的具體內容及使用方法,介紹了不同場景的軟件遷移流程;借助實驗流程重點講解了鯤鵬應用開發(fā)環(huán)境的搭建以及基于鯤鵬計算平臺的應用發(fā)布與部署;最后概述了鯤鵬產業(yè)的行業(yè)以及通用解決方案。
1.業(yè)界立足于實踐的鯤鵬生態(tài)職業(yè)認證系列叢書。
2.作者專業(yè)。本書作者是鯤鵬認證培訓專業(yè)人士,并且與華為“鯤鵬&昇騰”生態(tài)的開發(fā)者與建設者有過多次深層次的交流,熟知 “鯤鵬&昇騰”生態(tài)的核心技術及優(yōu)勢。
3.本書基于鯤鵬生態(tài),從指令集架構到應用移植、調優(yōu),借助多項目案例,可幫助讀者輕松快速地掌握鯤鵬移植相關內容。
4.彌補市場不足。目前市場上只有華為官方的一些文檔和參考資料,偏向于理論,實際案例和操作指導較少,本書加入了更多的實際操作,與官方資料相輔相成,互相彌補。
5.本書借助多個案例,深入淺出地講解相關知識,幫助讀者輕松快速地掌握鯤鵬生態(tài)應用開發(fā)相關內容。
北京博海迪信息科技有限公司聚焦于云計算、大數(shù)據(jù)、人工智能、5G、區(qū)塊鏈、軟件開發(fā)、物聯(lián)網、網絡安全、數(shù)據(jù)通信等領域的創(chuàng)新產業(yè)人才培養(yǎng),通過產教融合云平臺與專業(yè)教育服務融合的方式,累計服務800余所高校和5000多家企業(yè),為社會輸送了超過25萬名ICT產業(yè)高端人才。
第 1章 鯤鵬體系介紹 1
1.1 計算產業(yè)發(fā)展概述 2
1.1.1 移動應用云化、萬物互聯(lián)興起(萬物互聯(lián)時代背景) 2
1.1.2 單一架構向多種計算架構組合演進 2
1.1.3 計算產業(yè)空間與產值 4
1.2 鯤鵬計算產業(yè)組成 4
1.2.1 鯤鵬計算產業(yè)定義 4
1.2.2 華為鯤鵬處理器 6
1.2.3 TaiShan服務器 11
1.2.4 華為云鯤鵬云服務 14
1.3 鯤鵬生態(tài)概述 20
1.3.1 鯤鵬計算產業(yè)生態(tài)全景 20
1.3.2 鯤鵬伙伴計劃 20
1.3.3 鯤鵬社區(qū) 21
1.4 本章小結 25
第 2章 OpenEuler基礎操作 27
2.1 OpenEuler操作系統(tǒng)概述 28
2.1.1 操作系統(tǒng)的基本概念 28
2.1.2 操作系統(tǒng)的發(fā)展歷史 29
2.1.3 操作系統(tǒng)的基本功能 33
2.1.4 操作系統(tǒng)的設計目標 35
2.1.5 主流操作系統(tǒng) 36
2.1.6 操作系統(tǒng)的發(fā)展趨勢 38
2.1.7 OpenEuler系統(tǒng)簡介 39
2.2 OpenEuler基礎應用 46
2.2.1 華為云ECS主機的登錄方式 46
2.2.2 重裝系統(tǒng) 51
2.2.3 重置密碼 54
2.2.4 OpenEuler系統(tǒng)常用命令操作 55
2.3 vim文本編輯器的使用 82
2.4 基于OpenEuler配置LAMP,部署WordPress 85
2.5 本章小結 89
第3章 鯤鵬應用遷移 91
3.1 程序運行原理 92
3.1.1 計算機系統(tǒng)概述 92
3.1.2 計算機系統(tǒng)的工作過程 106
3.2 鯤鵬軟件遷移和移植 109
3.2.1 鯤鵬軟件遷移流程概述 109
3.2.2 鯤鵬通用應用移植流程 111
3.3 鯤鵬應用移植工具 117
3.3.1 鯤鵬分析掃描工具 117
3.3.2 鯤鵬代碼移植工具 125
3.3.3 配置歷史報告閾值 136
3.4 軟件遷移評估 137
3.4.1 創(chuàng)建分析任務 137
3.4.2 管理分析任務 139
3.5 源碼遷移 140
3.5.1 創(chuàng)建源碼分析任務 140
3.5.2 鯤鵬代碼遷移工具使用案例 140
3.6 鯤鵬軟件代碼移植實例 148
3.6.1 Python代碼移植案例 148
3.6.2 Go語言代碼移植 156
3.7 Docker容器原理與操作 165
3.7.1 容器概述 165
3.7.2 Docker容器 166
3.7.3 Docker安裝與應用 169
3.8 遷移常見問題及解決思路與案例 179
3.8.1 常見編譯參數(shù)和編譯腳本的問題 179
3.8.2 常見功能問題 180
3.8.3 常見工具問題 183
3.8.4 代碼歸一 184
3.8.5 弱內存序導致程序執(zhí)行結果與預期不一致 186
3.9 鯤鵬應用云上開發(fā)概述 187
3.9.1 新形勢為企業(yè)帶來了新挑戰(zhàn)和新要求 188
3.9.2 應用開發(fā)流程 189
3.9.3 敏捷軟件開發(fā) 190
3.9.4 DevOps是什么? 191
3.9.5 持續(xù)集成與持續(xù)交付 193
3.9.6 云原生與微服務 193
3.10 本章小結 194
第4章 應用性能測試及調優(yōu) 197
4.1 性能測試概述 198
4.2 性能測試方法論 199
4.2.1 SEI負載測試計劃過程 199
4.2.2 RBI方法 199
4.2.3 性能下降曲線分析法 200
4.2.4 GAME(A)性能測試過程模型方法 201
4.2.5 性能測試過程通用模型 204
4.3 常見內部性能測試指標概述 207
4.3.1 內存 207
4.3.2 CPU 207
4.3.3 磁盤 208
4.3.4 Web 209
4.4 鯤鵬平臺性能優(yōu)化介紹 210
4.4.1 基于CPU/內存的性能優(yōu)化 210
4.4.2 網絡系統(tǒng)的性能優(yōu)化 213
4.4.3 磁盤I/O系統(tǒng)性能優(yōu)化 217
4.4.4 應用層性能優(yōu)化 220
4.5 鯤鵬解決方案性能優(yōu)化應用 221
4.5.1 數(shù)據(jù)庫性能優(yōu)化 221
4.5.2 大數(shù)據(jù)性能優(yōu)化 232
4.5.3 分布式存儲性能優(yōu)化 248
4.6 常見性能測試工具使用 261
4.6.1 Linux監(jiān)控工具vmstat使用 261
4.6.2 Linux監(jiān)控工具sar使用 263
4.6.3 Linux監(jiān)控工具iostat 使用 268
4.6.4 Linux監(jiān)控工具top使用 270
4.6.5 Linux監(jiān)控工具netstat使用 277
4.7 鯤鵬系統(tǒng)性能優(yōu)化工具Tuning Kit概述 279
4.7.1 系統(tǒng)性能優(yōu)化工具 279
4.7.2 Java性能優(yōu)化工具 284
4.8 性能測試實驗指導 289
4.8.1 安裝Tomcat 290
4.8.2 壓力測試 294
4.8.3 安裝Jmeter 294
4.9 Nginx+應用發(fā)布+性能優(yōu)化綜合實驗 298
4.10 本章小結 331
第5章 應用部署與發(fā)布 333
5.1 鯤鵬平臺軟件概述 334
5.1.1 鯤鵬軟件構成概述 334
5.1.2 鯤鵬平臺主流開發(fā)語言及常用打包工具 336
5.1.3 應用發(fā)布的3種途徑 338
5.2 基于鯤鵬的開發(fā)環(huán)境搭建 338
5.2.1 交叉編譯簡介 339
5.2.2 x86環(huán)境下編譯ARM程序時使用交叉編譯工具 340
5.3 軟件打包實驗 344
5.3.1 RPM包制作 344
5.3.2 使用Maven打包Java代碼 351
5.3.3 Python打包 362
5.4 本章小結 365
第6章 鯤鵬解決方案 367
6.1 鯤鵬解決方案全景介紹 368
6.2 鯤鵬HPC解決方案 369
6.2.1 HPC介紹 369
6.2.2 鯤鵬HPC解決方案 370
6.2.3 HPC應用場景 371
6.2.4 HPC之WRF應用移植 372
6.3 大數(shù)據(jù)解決方案 382
6.3.1 大數(shù)據(jù)介紹 382
6.3.2 BigData Pro大數(shù)據(jù)解決方案搭建流程 386
6.4 云手機解決方案 408
6.4.1 云手機介紹 408
6.4.2 典型案例 409
6.5 華為鯤鵬平臺應用軟件移植調優(yōu)綜合案例 414
6.5.1 搭建華為鯤鵬平臺 415
6.5.2 Porting Advisor移植部署PostgreSQL 415
6.5.3 鯤鵬平臺OA系統(tǒng)編譯部署 420
6.6 鯤鵬平臺Ceph文件存儲部署案例 423
6.7 本章小結 437
附錄 OpenEuler 操作系統(tǒng)的安裝 439