




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章
基于鯤鵬通用計(jì)算平臺(tái)的Web實(shí)踐鯤鵬智能計(jì)算導(dǎo)論11.1基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐111.2基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2學(xué)習(xí)要點(diǎn)11.1任務(wù)概述什么是HTTPSHTTPS默認(rèn)采用RSA加密算法,客戶端在接入時(shí),RSA算法會(huì)消耗大量的CPU算力。客戶端接入請(qǐng)求越多,需要的CPU算力就越大。C/S架構(gòu)可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到客戶端和服務(wù)器端,從而降低系統(tǒng)的通信開(kāi)銷。B/S架構(gòu)是隨著互聯(lián)網(wǎng)技術(shù)的興起,對(duì)C/S架構(gòu)的一種改進(jìn)架構(gòu)。在這種架構(gòu)下,用戶工作界面通過(guò)瀏覽器實(shí)現(xiàn),只有極少部分事務(wù)邏輯在前端(瀏覽器)實(shí)現(xiàn),主要事務(wù)邏輯則在服務(wù)器端實(shí)現(xiàn)。C/S架構(gòu)B/S架構(gòu)11.1任務(wù)概述目前常見(jiàn)的基于Linux的Web系統(tǒng)架構(gòu)LAMP(Linux+Apache+MySQL+PHP)LNMP(Linux+Nginx+MySQL+PHP)LNMP架構(gòu)使用Nginx。Nginx是一款跨平臺(tái)輕量級(jí)的Web服務(wù)器,可作為HTTP服務(wù)器、Web緩存服務(wù)器、反向代理服務(wù)器、負(fù)載均衡服務(wù)器等,由于具有體積小、量級(jí)輕、高并發(fā)能力強(qiáng)等特點(diǎn),得到國(guó)內(nèi)外許多互聯(lián)網(wǎng)公司的廣泛使用。Nginx具有輕量級(jí)、占用資源少、負(fù)載均衡、高并發(fā)處理強(qiáng)、靜態(tài)內(nèi)容處理高效等特點(diǎn)。LAMP架構(gòu)使用Apache。Apache是目前主流的Web服務(wù)器之一,由于具有良好的跨平臺(tái)性和安全性而被廣泛使用。Apache擁有豐富的模塊組件支持,其穩(wěn)定性強(qiáng)、漏洞少、動(dòng)態(tài)內(nèi)容處理強(qiáng)。11.1任務(wù)概述鯤鵬Web應(yīng)用架構(gòu)的特點(diǎn)生態(tài)開(kāi)放01OPTION鯤鵬Web應(yīng)用架構(gòu)對(duì)常用編程語(yǔ)言開(kāi)發(fā)的開(kāi)源Web應(yīng)用及框架有較好的支持,如C/C++/C#、Java、Python、Perl、PHP、Go等常用編程語(yǔ)言,同時(shí)對(duì)國(guó)產(chǎn)商業(yè)Web應(yīng)用做了適配支持,如東方通(TongWeb)、金蝶天燕(Apusic)、中創(chuàng)中間件(InforSuiteAS)和寶蘭德(BES)等,主要完成了如下開(kāi)源Web應(yīng)用的遷移和調(diào)優(yōu),已在鯤鵬社區(qū)開(kāi)放。①Web負(fù)載均衡:Nginx、LVS和HAProxy。②Web服務(wù)器:Tomcat、Nginx、Apache、Lighttpd、JBoss和TomEE。③Web緩存:Memcached、Redis、Squid和Varnish。11.1任務(wù)概述鯤鵬Web應(yīng)用架構(gòu)的特點(diǎn)高性能02OPTION鯤鵬Web應(yīng)用架構(gòu)基于鯤鵬920處理器提供的KAE,可以實(shí)現(xiàn)HTTPS處理中RSA2048非對(duì)稱加解密算法的硬件卸載,大幅降低了CPU資源占用,HTTPS處理性能約為軟件計(jì)算的2倍,可以釋放更多CPU算力用于業(yè)務(wù)處理。鯤鵬Web應(yīng)用架構(gòu)基于鯤鵬920處理器的多核架構(gòu)和多核調(diào)度優(yōu)化算法,使具有高并發(fā)、低時(shí)延、計(jì)算密集特點(diǎn)的Web應(yīng)用性能得到了明顯提升。11.1任務(wù)概述鯤鵬Web應(yīng)用架構(gòu)的特點(diǎn)使用簡(jiǎn)單03OPTION安裝簡(jiǎn)化性能優(yōu)化簡(jiǎn)單所有Web組件均提供性能調(diào)優(yōu)指導(dǎo)及一鍵式調(diào)優(yōu)腳本,通過(guò)調(diào)優(yōu)可以充分發(fā)揮鯤鵬處理器的性能。所有Web組件都提供遷移安裝指導(dǎo)及一鍵式安裝腳本,安裝方便。11.1任務(wù)概述鯤鵬Web應(yīng)用架構(gòu)的特點(diǎn)部署靈活04OPTION組件名稱各組件可選軟件Web負(fù)載均衡Nginx、LVS和HAProxyWeb服務(wù)器Tomcat、Nginx、Apache、Lighttpd、JBoss和TomEEWeb緩存Memcached、Redis、Squid和Varnish其他Web中間件Dubbo、SpringCloud、SpringBoot、SpringFramework商業(yè)版Web套件東方通、金蝶天燕、中創(chuàng)中間件和寶蘭德編程語(yǔ)言Java、Python、C/C++/C#、Perl、PHP、Go
開(kāi)發(fā)/運(yùn)行環(huán)境OpenJDK、畢昇JDK、.NETCore和HipHop虛擬機(jī)(HipHopVirtualMachine,HHVM)SSL卸載(RSA加速)通過(guò)TaiShan200服務(wù)器提供的鯤鵬RSA加速引擎卸載RSA2048加解密算法,釋放CPU算力硬件平臺(tái)TaiShan200服務(wù)器11.1任務(wù)概述鯤鵬Web應(yīng)用架構(gòu)的特點(diǎn)部署靈活04OPTION在實(shí)際部署中,Web網(wǎng)站可以根據(jù)實(shí)際訪問(wèn)流量和性能分析,調(diào)整每一個(gè)組成部分。例如,擴(kuò)充應(yīng)用服務(wù)器到集群,可以大幅提升Web業(yè)務(wù)的處理能力;擴(kuò)充反向代理服務(wù)器或者Web服務(wù)器到集群,可以減少前端Web業(yè)務(wù)請(qǐng)求的響應(yīng)時(shí)間。鯤鵬Web應(yīng)用架構(gòu)組網(wǎng)11.1.1任務(wù)概述某電商公司前期在鯤鵬云主機(jī)上搭建網(wǎng)站積累了一定的經(jīng)驗(yàn)。現(xiàn)在該公司開(kāi)始構(gòu)建自己的電商門戶網(wǎng)站來(lái)支撐海量用戶,以應(yīng)對(duì)后續(xù)的高并發(fā)事務(wù),因此要在鯤鵬云主機(jī)上搭建LNMP網(wǎng)站和進(jìn)行相關(guān)負(fù)載均衡集群的配置來(lái)支撐高并發(fā)和PHP個(gè)性化頁(yè)面的呈現(xiàn)。為此,需要考慮以下因素。LNMP網(wǎng)站架構(gòu)是目前國(guó)際流行的Web框架,該框架包括Linux操作系統(tǒng)、Nginx網(wǎng)絡(luò)服務(wù)器、MySQL數(shù)據(jù)庫(kù)、PHP編程語(yǔ)言。所有組成產(chǎn)品均為免費(fèi)開(kāi)源軟件,這4種軟件組合到一起,即可形成一個(gè)免費(fèi)、高效的網(wǎng)站服務(wù)系統(tǒng),所以電商公司希望采用LNMP網(wǎng)站架構(gòu)來(lái)進(jìn)行電商門戶網(wǎng)站的搭建、部署。電商公司希望先在華為云的鯤鵬云主機(jī)上小規(guī)模部署,驗(yàn)證其可行性及完成前期的性能測(cè)試后,再在基于鯤鵬處理器的TaiShan物理服務(wù)器上大規(guī)模部署。電商公司希望在基于鯤鵬處理器的TaiShan200服務(wù)器上安裝、配置加速引擎,使用該服務(wù)器提供的硬件加速架構(gòu)。11.1.2LNMP實(shí)踐鯤鵬云主機(jī)配置01OPTION(1)鯤鵬云主機(jī)配置(2)鯤鵬云網(wǎng)絡(luò)配置(3)查看鯤鵬云服務(wù)器狀態(tài)11.1.2LNMP實(shí)踐Nginx安裝與配置02OPTION首先需要對(duì)編譯環(huán)境進(jìn)行配置,安裝相關(guān)依賴包;再通過(guò)Nginx官方網(wǎng)站獲取安裝包并進(jìn)行編譯安裝;最后打開(kāi)瀏覽器,在其地址欄中輸入前面的彈性公網(wǎng)IP地址進(jìn)行驗(yàn)證。使用root用戶身份執(zhí)行以下命令。Nginx安裝成功后的返回結(jié)果11.1.2LNMP實(shí)踐MySQL安裝與配置03OPTION與安裝Nginx類似,MySQL的安裝也需要先安裝相應(yīng)的依賴包,再對(duì)下載的安裝包進(jìn)行解壓、編譯、安裝、測(cè)試。具體安裝、配置部分可參考華為云官方文檔。需要注意的是,安裝完MySQL軟件并啟動(dòng)服務(wù)后,要對(duì)數(shù)據(jù)庫(kù)進(jìn)行初始化操作,具體步驟可以查閱網(wǎng)站上的詳細(xì)介紹。11.1.2LNMP實(shí)踐PHP安裝與配置04OPTION查看php和php-fpm的版本號(hào)11.1.2LNMP實(shí)踐PHP安裝與配置04OPTION使用root用戶身份執(zhí)行以下命令,啟動(dòng)php-fpm并查看其進(jìn)程。/usr/local/php7.2.3/sbin/php-fpmps–ef|grepphp啟動(dòng)php-fpm并查看其進(jìn)程測(cè)試已經(jīng)完成編譯的PHP軟件,執(zhí)行以下命令,修改Nginx配置文件以支持PHP頁(yè)面。vim/usr/local/nginx/conf/nginx.conf11.1.2LNMP實(shí)踐PHP安裝與配置04OPTION新增index.php取消PHP配置注釋使用root用戶身份執(zhí)行以下命令,編寫(xiě)PHP測(cè)試頁(yè)面。vim/usr/local/nginx/html/index.php#添加如下代碼<?phpphpinfo();?>#執(zhí)行以下命令,重啟nginx服務(wù)/usr/local/nginx/sbin/nginx-sreload至此,LNMP環(huán)境已搭建完成。任務(wù)中提到,該公司除有搭建LNMP基礎(chǔ)環(huán)境的需求之外,還有兩個(gè)需求,即對(duì)該環(huán)境進(jìn)行負(fù)載均衡配置及個(gè)性化編寫(xiě)腳本頁(yè)面呈現(xiàn)。接下來(lái)具體介紹實(shí)現(xiàn)這兩個(gè)需求的操作。PHP安裝成功后的返回結(jié)果11.1.2LNMP實(shí)踐PHP安裝與配置04OPTION11.1.2LNMP實(shí)踐Nginx負(fù)載均衡配置05OPTION首先進(jìn)行云主機(jī)相關(guān)配置。登錄上述已經(jīng)搭建好的LNMP的云主機(jī),執(zhí)行以下命令修改配置文件。vim/usr/local/nginx/conf/nginx.conf參考“PHP安裝成功后的返回結(jié)果”,添加相應(yīng)配置。使用root用戶身份執(zhí)行以下命令,重新啟動(dòng)nginx服務(wù)。/usr/local/nginx/sbin/nginx–sreload進(jìn)行slave云主機(jī)相關(guān)配置。登錄slave1云主機(jī),執(zhí)行以下命令修改配置文件。參考右圖,添加相應(yīng)配置。vim/etc/nginx/nginx.conf11.1.2LNMP實(shí)踐Nginx負(fù)載均衡配置05OPTION使用root用戶身份執(zhí)行以下命令,修改配置文件,并重啟nginx服務(wù)。echo“thisisnode1”>/usr/share/nginx/html/index.htmlSystemctlrestartnginx同樣,登錄slave2云主機(jī),執(zhí)行以下命令修改配置文件。vim/etc/nginx/nginx.conf參考右圖,添加相應(yīng)配置。11.1.2LNMP實(shí)踐Nginx負(fù)載均衡配置05OPTION使用root用戶身份執(zhí)行以下命令,修改配置文件,并重啟nginx服務(wù)。echo“thisisnode2”>/usr/share/nginx/html/index.htmlSystemctlrestartnginx修改本地的host文件。在Windows操作系統(tǒng)中,該文件路徑為“C:\Windows\System32\drivers\etc”,host文件新增內(nèi)容如下(添加到文件末尾)。5kunpeng.cc--說(shuō)明:5是云主機(jī)對(duì)應(yīng)的彈性IP地址(ElasticIPAddress,EIP)11.1.2LNMP實(shí)踐Nginx負(fù)載均衡配置05OPTION接下來(lái)配置最少連接負(fù)載均衡。使用以下命令修改云主機(jī)的Nginx配置文件。如下圖所示,即可實(shí)現(xiàn)負(fù)載均衡最少連接數(shù)算法配置。vim/usr/local/nginx/conf/nginx.conf使用root用戶身份執(zhí)行以下命令,重新啟動(dòng)nginx服務(wù)。/usr/local/nginx/sbin/nginx–sreload最少連接是指把請(qǐng)求分配到連接數(shù)最少的服務(wù)器。打開(kāi)瀏覽器,在其地址欄中輸入http://kunpeng.cc,不斷刷新頁(yè)面,觀察頁(yè)面結(jié)果,可看到是根據(jù)當(dāng)前連接數(shù)最少的主機(jī)進(jìn)行分配的。打開(kāi)瀏覽器,在其地址欄中輸入http://kunpeng.cc,頁(yè)面按照“thisisnode2”和“thisisnode1”的頁(yè)面順序進(jìn)行刷新。11.1.2LNMP實(shí)踐Nginx負(fù)載均衡配置05OPTIONvim/usr/local/nginx/conf/nginx.conf使用root用戶身份執(zhí)行以下命令,重新啟動(dòng)nginx服務(wù)。/usr/local/nginx/sbin/nginx–sreload最后配置ip_hash負(fù)載均衡。使用以下命令修改云主機(jī)的Nginx配置文件。如下圖所示,即可配置ip_hash負(fù)載均衡。ip_hash負(fù)載均衡根據(jù)訪問(wèn)客戶端IP地址的哈希值分配,這樣同一客戶端的請(qǐng)求都會(huì)被分配到同一個(gè)服務(wù)器上,如果涉及會(huì)話問(wèn)題,則這是最好的選擇。打開(kāi)瀏覽器,在其地址欄中輸入http://kunpeng.cc,頁(yè)面上的內(nèi)容是不會(huì)變化的,因?yàn)槭鞘褂猛粋€(gè)PC的IP地址進(jìn)行的訪問(wèn)。11.1.2LNMP實(shí)踐PHP腳本頁(yè)面?zhèn)€性化呈現(xiàn)06OPTIONvim/usr/local/nginx/html/mysql.php在該文件中添加下列內(nèi)容。使用一個(gè)簡(jiǎn)單的PHP頁(yè)面來(lái)演示個(gè)性化頁(yè)面呈現(xiàn)。登錄上述已經(jīng)搭建好的LNMP的云主機(jī),使用root用戶身份執(zhí)行以下命令創(chuàng)建配置文件。11.1.2LNMP實(shí)踐PHP腳本頁(yè)面?zhèn)€性化呈現(xiàn)06OPTION至此,實(shí)現(xiàn)了在LNMP架構(gòu)的環(huán)境中配置負(fù)載均衡并呈現(xiàn)簡(jiǎn)單的個(gè)性化頁(yè)面的所有工作。11.1.3節(jié)將介紹鯤鵬加速器的配置與調(diào)優(yōu)。在瀏覽器中驗(yàn)證MySQL+PHP+Nginx的集成效果,如圖所示,網(wǎng)址為http://5/mysql.php。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)加速器軟件包的兩種安裝方式安裝方式RPM安裝源碼安裝安裝說(shuō)明為了方便用戶使用,提供部分商用操作系統(tǒng)的RPM安裝包,RPM可用于管理Linux各項(xiàng)套件的程序,可以使用rpm--help命令獲得更多幫助通用的源碼安裝方式,使用configure命令進(jìn)行編譯及安裝配置,使用make命令進(jìn)行源碼編譯,使用makeinstall命令進(jìn)行安裝優(yōu)點(diǎn)、缺點(diǎn)優(yōu)點(diǎn):安裝后可以直接使用,不需要編譯及安裝等操作。缺點(diǎn):支持范圍有限,目前只支持SUSE15.1、CentOS7.6及EulerOS2.8優(yōu)點(diǎn):支持范圍廣,支持大部分Linux操作系統(tǒng),支持修改源碼進(jìn)行編譯及安裝。缺點(diǎn):操作復(fù)雜,需要做一些額外的配置11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝前確認(rèn)OpenSSL1.1.1a及以上版本已正確安裝。將加速器軟件包復(fù)制到安裝目錄下。01OPTION使用root用戶身份執(zhí)行以下命令安裝加速器軟件包,這里以u(píng)acce為例進(jìn)行說(shuō)明。[root@localhosthome]#rpm-ivhuacce-1.0.1-1.centos7.6.aarch64.rpm…[100%]modulesinstalled參考上述步驟,依次安裝hisi_hpre、hisi_sec2、hisi_rde、hisi_zip驅(qū)動(dòng)軟件包和libwd、libkae引擎軟件包。安裝加速器軟件包。02OPTION11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程使用以下命令查看加速器軟件包。安裝檢查03OPTION[root@localhosthome]#rpm-qa|grepuacceuacce-1.0.1-1.centos7.6.aarch64//顯示該格式內(nèi)容時(shí)說(shuō)明安裝成功源碼安裝流程如下。①使用遠(yuǎn)程登錄工具,將KAE源碼包復(fù)制到自定義路徑下。源碼包中的代碼包含內(nèi)核驅(qū)動(dòng)、用戶態(tài)驅(qū)動(dòng)、基于OpenSSL的KAE和zlib這4個(gè)模塊。其中,內(nèi)核驅(qū)動(dòng)與用戶態(tài)驅(qū)動(dòng)為安裝必選項(xiàng),KAE與zlib按實(shí)際需求選擇安裝。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝檢查03OPTIONcdkae_drivermakemakeinstall②使用SSH遠(yuǎn)程登錄工具,以root用戶身份進(jìn)入Linux操作系統(tǒng)命令行界面。③安裝內(nèi)核驅(qū)動(dòng)。在KAE的driver源碼目錄下,進(jìn)入kae_driver目錄后開(kāi)始安裝內(nèi)核驅(qū)動(dòng),命令如下。cdwarpdriveshautogen.sh./configuremakemakeinstall④安裝用戶態(tài)驅(qū)動(dòng)。在KAE的driver源碼目錄下,進(jìn)入warpdrive目錄后開(kāi)始安裝Warpdrive驅(qū)動(dòng)開(kāi)發(fā)庫(kù),命令如下。編譯加速器驅(qū)動(dòng)生成uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko、hisi_zip.ko、hisi_rde.ko,安裝路徑為“l(fā)ib/modules/'uname-r'/extra”。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程重啟系統(tǒng)并加載加速器驅(qū)動(dòng)04OPTION①查詢已載入內(nèi)核的uacce驅(qū)動(dòng)模塊,命令如下。lsmod|grepuacce②加載uacce驅(qū)動(dòng),命令如下。modprobeuacce③加載hisi_sec2驅(qū)動(dòng),將/etc/modprobe.d/hisi_sec2.conf下的配置文件加載到內(nèi)核中,命令如下。modprobehisi_sec2④加載hisi_hpre驅(qū)動(dòng),將/etc/modprobe.d/hisi_hpre.conf下的配置文件加載到內(nèi)核中,命令如下。modprobehisi_hpre⑤加載hisi_rde驅(qū)動(dòng),將/etc/modprobe.d/hisi_rde.conf下的配置文件加載到內(nèi)核中,命令如下。modprobehisi_rde⑥再次查詢已載入內(nèi)核的uacce驅(qū)動(dòng)模塊,命令如下。lsmod|grepuacce如顯示以下加載模塊,則表示加載成功。uacce368643hisi_sec2,hisi_qm,hisi_hpre,hisi_rde11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程編譯、安裝加速器KAE05OPTIONcdKAEchmod+xconfigure./configuremakeclean&&makemakeinstall其中,執(zhí)行./configure命令時(shí)可以加--prefix選項(xiàng)以指定KAE的安裝路徑,KAE動(dòng)態(tài)庫(kù)文件為libkae.so。推薦通過(guò)默認(rèn)方式安裝KAE。默認(rèn)安裝路徑為/usr/local,動(dòng)態(tài)庫(kù)文件目錄為/usr/local/lib/engines-1.1。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝后檢查06OPTION執(zhí)行cd命令,進(jìn)入/usr/local/lib目錄或者用戶自定義安裝目錄下。查看libwd軟連接狀態(tài),命令如下。lrwxrwxrwx.1rootroot14Jun2511:16libwd.so->libwd.so.1.0.1lrwxrwxrwx.1rootroot14Jun2511:16libwd.so.0->libwd.so.1.0.1-rwxr-xr-x.1rootroot137280Jun2411:37libwd.so.1.0.1ls-al/usr/local/lib/|greplibwd若顯示以下軟連接及so文件,則說(shuō)明libwd安裝成功。ls-al/usr/local/lib/engines-1.1/查看KAE軟連接狀態(tài),命令如下。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝后檢查06OPTION若顯示以下軟連接及so文件,則說(shuō)明KAE安裝成功。ls-al/sys/class/uacce/lrwxrwxrwx.1rootroot48Jun2511:21kae.so->/usr/local/openssl/lib/engines-1.1/kae.so.1.0.1lrwxrwxrwx.1rootroot48Jun2511:21kae.so.0->/usr/local/openssl/lib/engines-1.1/kae.so.1.0.1-rwxr-xr-x.1rootroot212192Jun2411:37kae.so.1.0.1查看虛擬文件系統(tǒng)下對(duì)應(yīng)的加速器設(shè)備,命令如下。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝后檢查06OPTION結(jié)果顯示如下。11.1.3 鯤鵬加速器的配置與調(diào)優(yōu)RPM安裝流程安裝后檢查06OPTION通過(guò)OpenSSL命令驗(yàn)證加速器是否生效。這里以驗(yàn)證RSA性能為例進(jìn)行說(shuō)明,命令如下。通過(guò)RSA性能驗(yàn)證可以看到,指定KAE之后,RSA的性能明顯提升。另外,除上述方法外,在執(zhí)行RSA性能驗(yàn)證命令過(guò)程中,還可以在新的終端上查看HPRE加速器的硬件隊(duì)列資源情況,命令如下。cat/sys/class/uacce/hisi_hpre-*/attrs/available_instances256255基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐1基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2學(xué)習(xí)要點(diǎn)11.111.2在作為反向代理服務(wù)器的同時(shí),Nginx通過(guò)upstream配置就可以實(shí)現(xiàn)負(fù)載均衡的功能,在收到一個(gè)請(qǐng)求后,可以從upstream配置的服務(wù)器集群中按照一定的策略選擇一個(gè)實(shí)際服務(wù)器來(lái)處理請(qǐng)求,這一過(guò)程就是負(fù)載均衡。11.2基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2負(fù)載均衡原理示意使用Nginx實(shí)現(xiàn)的負(fù)載均衡配置及鯤鵬加速器的配置,都是基于鯤鵬架構(gòu)Web應(yīng)用實(shí)踐典型方案的組成部分,用以應(yīng)對(duì)互聯(lián)網(wǎng)公司不同的業(yè)務(wù)場(chǎng)景。負(fù)載均衡原理示意11.2基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2Nginx的特點(diǎn)以Nginx作為Web反向代理或負(fù)載均衡服務(wù)器的方案有以下兩個(gè)特點(diǎn):服務(wù)器可以部署成反向代理集群或者負(fù)載均衡集群,并支持對(duì)集群進(jìn)行線性擴(kuò)展。通過(guò)優(yōu)化配置、調(diào)優(yōu)系統(tǒng)參數(shù),可發(fā)揮鯤鵬處理器多核的優(yōu)勢(shì),從而提供更好的性能。線性擴(kuò)展和彈性高性能11.2基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2Memcached作為Web內(nèi)存緩存服務(wù)器Memcached是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。其一般的使用目的是,通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)Web應(yīng)用的速度及可擴(kuò)展性。用戶請(qǐng)求響應(yīng)過(guò)程11.2基于鯤鵬架構(gòu)的Web應(yīng)用實(shí)踐2Memcached的特點(diǎn)(4)服務(wù)器端不互相通信的分布式各個(gè)Memcached服務(wù)器不會(huì)互相通信以共享信息,而是通過(guò)客戶端的算法進(jìn)行通信。(1)協(xié)議簡(jiǎn)單Memcached的服務(wù)器客戶端通信并不使用復(fù)雜的XML等格式,而是使用簡(jiǎn)單的基于文本行的協(xié)議。(3)數(shù)據(jù)存儲(chǔ)于內(nèi)存Memcached中保存的數(shù)據(jù)都存儲(chǔ)在Memcached內(nèi)置的內(nèi)存中,因此重啟Memcached、重啟操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失。(2)支持多種消息處理Memcached使用基于Libevent的消息處理機(jī)制,Libevent支持多種系統(tǒng)的消息處理。第12章
基于鯤鵬智能計(jì)算平臺(tái)的深度學(xué)習(xí)案例實(shí)踐鯤鵬智能計(jì)算導(dǎo)論12.1鯤鵬智能計(jì)算平臺(tái)12.2基于昇騰AI處理器的口罩檢測(cè)案例實(shí)踐學(xué)習(xí)要點(diǎn)12.1.1昇騰AI處理器昇騰910處理器主要用于深度學(xué)習(xí)模型訓(xùn)練場(chǎng)景,可以為模型訓(xùn)練提供強(qiáng)大算力。昇騰910芯片采用7nm先進(jìn)工藝,單芯片計(jì)算密度在業(yè)內(nèi)領(lǐng)先,是同時(shí)代的英偉達(dá)TeslaV100GPU的兩倍,16位浮點(diǎn)數(shù)(FP16)算力達(dá)到256TFLOPS,8位整數(shù)(INT8)算力達(dá)到512TOPS,同時(shí)支持128位通道全高清視頻解碼(H.264/H.265)。昇騰310處理器主要用于模型推理場(chǎng)景。推理場(chǎng)景對(duì)算力的需求相對(duì)較小,昇騰310芯片采用12nm制造工藝,最大能耗僅為8W,16位浮點(diǎn)數(shù)(FP16)算力達(dá)到8TFLOPS,8位整數(shù)(INT8)算力達(dá)到16TOPS,支持16位通道全高清視頻解碼,可以很好地滿足邊緣計(jì)算產(chǎn)品和移動(dòng)端設(shè)備進(jìn)行模型推理的算力需求。昇騰AI處理器910昇騰AI處理器31012.1.1昇騰AI處理器昇騰AI處理器使用華為自研的達(dá)·芬奇架構(gòu),針對(duì)深度神經(jīng)網(wǎng)絡(luò)大量矩陣運(yùn)算的特點(diǎn),設(shè)計(jì)了高性能的3DCube矩陣計(jì)算單元,每個(gè)矩陣計(jì)算單元在一個(gè)時(shí)鐘周期內(nèi)可以完成4096次乘加計(jì)算,再結(jié)合向量計(jì)算單元和標(biāo)量計(jì)算單元,可以非常靈活且高效地完成各種運(yùn)算。達(dá)·芬奇架構(gòu)使用了統(tǒng)一硬件架構(gòu),可以進(jìn)行多核靈活擴(kuò)展以適應(yīng)不同應(yīng)用場(chǎng)景。一次開(kāi)發(fā)可支持多場(chǎng)景部署、遷移和協(xié)同,統(tǒng)一的架構(gòu)提升了上層軟件開(kāi)發(fā)效率,也帶來(lái)了能耗上的優(yōu)勢(shì)。達(dá)·芬奇架構(gòu)可以支持能耗從幾十毫瓦到幾百瓦的芯片,可靈活應(yīng)對(duì)不同場(chǎng)景,滿足性能與能耗的需求。除搭載基于達(dá)·芬奇架構(gòu)的AI加速模塊外,昇騰AI處理器還搭載了硬件級(jí)別的圖像處理模塊,可以快速完成常見(jiàn)的圖像預(yù)處理操作,如圖片編/解碼、縮放、色域轉(zhuǎn)換等。此外,昇騰AI處理器還擁有高效的緩存系統(tǒng)和豐富的I/O接口,能靈活應(yīng)對(duì)各場(chǎng)景下的計(jì)算需求,為各場(chǎng)景下的AI應(yīng)用提供強(qiáng)勁的基礎(chǔ)算力。12.1.2
鯤鵬AI計(jì)算服務(wù)器Atlas800訓(xùn)練服務(wù)器華為的Atlas800訓(xùn)練服務(wù)器(型號(hào)為9000)是基于鯤鵬920和昇騰910處理器的AI訓(xùn)練服務(wù)器,具有極強(qiáng)算力密度、超高能效與高速網(wǎng)絡(luò)帶寬等特點(diǎn)。該服務(wù)器廣泛應(yīng)用于深度學(xué)習(xí)模型開(kāi)發(fā)和訓(xùn)練,適用于智慧城市、智慧醫(yī)療、天文探索、石油勘探等需要大算力的行業(yè)領(lǐng)域。Atlas800推理服務(wù)器Atlas800推理服務(wù)器(型號(hào)為3000)是基于鯤鵬920處理器的服務(wù)器,可支持8個(gè)Atlas300I推理卡(型號(hào)為3000),可提供強(qiáng)大的實(shí)時(shí)推理能力。12.1.2
鯤鵬AI計(jì)算服務(wù)器鯤鵬AI推理加速型實(shí)例kAi1s是以昇騰310芯片為加速核心的AI加速型云服務(wù)器;基于昇騰310芯片低能耗、高算力的特性,實(shí)現(xiàn)了能效比的大幅提升,助力AI推理業(yè)務(wù)的快速普及;通過(guò)鯤鵬AI推理加速型實(shí)例kAi1s將昇騰310芯片的計(jì)算加速能力在公有云上開(kāi)放出來(lái),方便用戶快速、簡(jiǎn)捷地使用昇騰310芯片強(qiáng)大的處理能力。鯤鵬智能計(jì)算平臺(tái)基于昇騰AI處理器的口罩檢測(cè)案例實(shí)踐學(xué)習(xí)要點(diǎn)12.112.212.2.1任務(wù)概述訓(xùn)練并部署口罩檢測(cè)模型對(duì)算力有較高需求,鯤鵬智能計(jì)算平臺(tái)基于鯤鵬處理器和昇騰AI處理器提供靈活且高效的算力支持,可以方便高效地訓(xùn)練、部署口罩檢測(cè)模型。本案例將探索基于昇騰AI服務(wù)器完成口罩檢測(cè)模型的訓(xùn)練及部署。本案例包含以下兩個(gè)任務(wù)。(1)基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練,模型訓(xùn)練部分對(duì)算力有較高的要求,搭載了鯤鵬920CPU和昇騰910AI處理器的Atlas系列訓(xùn)練服務(wù)器可以高效地完成訓(xùn)練過(guò)程。(2)基于kAi1s的口罩檢測(cè)模型推理部署,邊緣側(cè)的AI模型推理部署需要平衡算力和能耗,搭載了鯤鵬920CPU和昇騰310AI處理器的kAi1s云服務(wù)器可以很好地滿足推理部署對(duì)性能和能耗的要求。12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練環(huán)境準(zhǔn)備01OPTION(1)安裝驅(qū)動(dòng)。要想在搭載鯤鵬處理器和昇騰AI處理器的服務(wù)器上訓(xùn)練深度學(xué)習(xí)模型,首先要安裝相關(guān)的驅(qū)動(dòng)、軟件,具體可參考相應(yīng)的產(chǎn)品文檔。12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練環(huán)境準(zhǔn)備01OPTION(2)獲取訓(xùn)練環(huán)境下的Docker鏡像驅(qū)動(dòng)并安裝完畢后,還需要安裝TensorFlow等軟件環(huán)境,昇騰社區(qū)提供內(nèi)置訓(xùn)練環(huán)境的Docker鏡像,可以通過(guò)Docker鏡像啟動(dòng)訓(xùn)練環(huán)境。Docker鏡像獲取界面如圖所示。12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練數(shù)據(jù)集準(zhǔn)備02OPTION本案例使用已標(biāo)注好的口罩檢測(cè)數(shù)據(jù)集,其中包含500張已標(biāo)注圖片用于訓(xùn)練、驗(yàn)證,8張未標(biāo)注圖片用于在線測(cè)試。標(biāo)簽數(shù)據(jù)為XML格式,標(biāo)注信息包括檢測(cè)框的類別(person、face、mask),以及檢測(cè)框的坐標(biāo)(分別是左上角的x坐標(biāo),左上角的y坐標(biāo),右下角的x坐標(biāo)及右下角的y坐標(biāo))。標(biāo)簽數(shù)據(jù)樣例如下。算法選擇03OPTION12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練目標(biāo)檢測(cè)任務(wù)不僅要判斷目標(biāo)的類別,還要定位目標(biāo)的位置。在本案例中,不僅要判斷目標(biāo)的類別,包括人(person)、臉(face)、口罩(mask),還要定位目標(biāo)框的位置。實(shí)現(xiàn)目標(biāo)檢測(cè)的算法有很多,經(jīng)典的深度學(xué)習(xí)算法包括更快的區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(FasterRegion-basedConvolutionalNeuralNetwork,F(xiàn)asterR-CNN)、YOLO(YouOnlyLookOnce)、單次多邊框檢測(cè)(SingleShotMultiboxDetector)等。YOLOv3是YOLO算法演進(jìn)的第3個(gè)版本,也是目前應(yīng)用得最多的版本之一。YOLOv3的精度稍好于SSD,比RetinaNet差,但是速度是SSD、RetinaNet、FasterR-CNN的2倍以上。YOLOv3處理單張輸入尺寸為320像素×320像素的圖片僅需22ms,可以很好地滿足實(shí)際生產(chǎn)環(huán)境對(duì)實(shí)時(shí)性的要求。模型訓(xùn)練04OPTION12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練在配置好軟件環(huán)境后,便可在鯤鵬智能計(jì)算平臺(tái)上進(jìn)行代碼編寫(xiě)、調(diào)測(cè)、運(yùn)行。此處以TensorFlow為例編碼實(shí)現(xiàn)YOLOv3模型,并啟動(dòng)訓(xùn)練。YOLOv3訓(xùn)練源碼可從昇騰社區(qū)獲取。模型訓(xùn)練04OPTION12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練其代碼結(jié)構(gòu)如下。模型訓(xùn)練04OPTION12.2.2基于Atlas服務(wù)器的口罩檢測(cè)模型訓(xùn)練(1)啟動(dòng)訓(xùn)練任務(wù),命令如下。bashnpu_train_1p_single.sh(2)測(cè)試集評(píng)估,命令如下。basheval.sh(3)模型導(dǎo)出。將訓(xùn)練生成的TensorFlowcheckpoint模型文件導(dǎo)出為獨(dú)立的pb格式的文件。pb是一種序列化格式,具有語(yǔ)言獨(dú)立性,可獨(dú)立運(yùn)行,任何語(yǔ)言都可以解析它。將模型文件轉(zhuǎn)換成pb文件后,后續(xù)的模型轉(zhuǎn)換及推理操作可以脫離原有的TensorFlow框架。pythonfrozen_graph.py--ckpt_path=./training/t1/D0/model-final_step_182000_loss_20.7885_lr_0環(huán)境準(zhǔn)備01OPTION12.2.3
基于kAi1s的口罩檢測(cè)模型推理部署kAi1s是搭載了鯤鵬處理器和昇騰310AI處理器的云服務(wù)器,提供了完整的軟硬件開(kāi)發(fā)環(huán)境,可以在kAi1s上方便地進(jìn)行AI推理應(yīng)用的開(kāi)發(fā)和測(cè)試。參考華為云的官方文檔模型轉(zhuǎn)換02OPTION12.2.3基于kAi1s的口罩檢測(cè)模型推理部署ATC工具不僅可以完成對(duì)昇騰AI處理器的適配,還可以在轉(zhuǎn)換過(guò)程中實(shí)現(xiàn)算子調(diào)度的優(yōu)化、權(quán)值數(shù)據(jù)重排、內(nèi)存使用優(yōu)化等,可以脫離設(shè)備完成模型的預(yù)處理。本案例中使用ATC工具將TensorFlow訓(xùn)練出的pb格式的口罩檢測(cè)模型轉(zhuǎn)換為昇騰芯片支持的om格式的離線模型,轉(zhuǎn)換命令如下。atc--framework=3--model
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新鄉(xiāng)工程學(xué)院《數(shù)值分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2031年中國(guó)離合器與軸承組件行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)碎精肉行業(yè)投資前景及策略咨詢研究報(bào)告
- 廣東省東莞市南開(kāi)實(shí)驗(yàn)校2024屆十校聯(lián)考最后數(shù)學(xué)試題含解析
- 2024-2025公司三級(jí)安全培訓(xùn)考試試題及答案參考
- 2024-2025公司安全管理員安全培訓(xùn)考試試題附答案可下載
- 2025公司項(xiàng)目部管理人員安全培訓(xùn)考試試題附答案(輕巧奪冠)
- 2025車間安全培訓(xùn)考試試題(綜合卷)
- 2024-2025管理人員安全培訓(xùn)考試試題附答案(輕巧奪冠)
- 2025企業(yè)管理人員安全培訓(xùn)考試試題及參考答案(預(yù)熱題)
- 電動(dòng)汽車安全駕駛培訓(xùn)
- 短視頻平臺(tái)對(duì)獨(dú)立音樂(lè)人的影響研究-全面剖析
- 2024年國(guó)家廣播電視總局直屬事業(yè)單位招聘真題
- 低空空域協(xié)同管理機(jī)制:探索與研究
- 成人重癥患者顱內(nèi)壓增高防控護(hù)理專家共識(shí)(2024版)解讀課件
- 中國(guó)急性缺血性卒中診治指南解讀(完整版)
- 水磨鉆專項(xiàng)方水磨鉆專項(xiàng)方案
- 我愛(ài)刷牙幼兒課件
- 職高英語(yǔ)高一試題及答案
- 英語(yǔ)課件 外研版(2019)選擇性必修四 Unit6 Developing ideas
- 2024-2025年第二學(xué)期一年級(jí)語(yǔ)文教學(xué)進(jìn)度表
評(píng)論
0/150
提交評(píng)論