亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Docker引擎虛擬化技術(shù)的應(yīng)用研究

        2020-12-23 05:47:19劉晶晶朱寅非
        軟件 2020年10期
        關(guān)鍵詞:吞吐量虛擬化

        劉晶晶 朱寅非

        摘? 要: Docker作為一種新興技術(shù),給企業(yè)的應(yīng)用帶來了新的變革。它不僅降低了工程開發(fā)難度,更為重要的是它屏蔽了底層的異構(gòu)環(huán)境。本文首先分析了傳統(tǒng)的虛擬機(jī)架構(gòu),然后給出了自己平臺(tái)即服務(wù)的架構(gòu)。為了獲得新的平臺(tái)架構(gòu)與傳統(tǒng)的虛擬機(jī)架構(gòu)的有關(guān)參數(shù)對比數(shù)據(jù),本文同時(shí)在上述兩種平臺(tái)上部署了Tomcat、Oracle和Mysql三種應(yīng)用。通過改變CPU的核數(shù)、內(nèi)存的大小等方式,得到服務(wù)器最大響應(yīng)時(shí)間等指標(biāo)。通過測試數(shù)據(jù)的分析,我們發(fā)現(xiàn)基于Docker引擎的PAAS平臺(tái)更適合輕量級(jí)的應(yīng)用。

        關(guān)鍵詞: 虛擬化;Docker;吞吐量

        中圖分類號(hào): TP391? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.001

        本文著錄格式:劉晶晶,朱寅非. 基于Docker引擎虛擬化技術(shù)的應(yīng)用研究[J]. 軟件,2020,41(10):0104

        【Abstract】: Docker as an emerging technology, to the enterprise application has brought new changes. It not only reduces the difficulty of project development, more importantly, it shields the underlying heterogeneous environment. This paper first analyzes the traditional virtual machine architecture, and then gives its own platform as a service architecture. In order to obtain the new platform architecture and the traditional virtual machine architecture parameters of the comparative data, this paper also in the two platforms on the deployment of Tomcat, Oracle and Mysql three applications. By changing the number of cores, the size of the memory, etc, get the maximum response time of the server and other indicators. Through the test data analysis, we found that the PAAS platform based on Docker engine is more suitable for lightweight applications.

        【Key words】: Virtualization; Docker; Throughput

        0? 引言

        云計(jì)算包括基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS),對于開發(fā)人員來說,可以方便的將各種應(yīng)用程序部署在PaaS上,這種PaaS平臺(tái)上部署有利于降低運(yùn)行成本[1]。對于云計(jì)算來說,核心技術(shù)是虛擬化技術(shù)[2]。虛擬化技術(shù)在底層和上層操作系統(tǒng)之間插入了一個(gè)新的軟件層,它實(shí)現(xiàn)了底層和上層的解耦,降低因過多上層應(yīng)用給底層主機(jī)帶來的壓力[3]。當(dāng)上層虛擬機(jī)進(jìn)行規(guī)模的部署時(shí),會(huì)在底層宿主機(jī)上形成大量重復(fù)的內(nèi)存分頁,最終導(dǎo)致虛擬機(jī)啟動(dòng)變慢。而基于Docker引擎的虛擬化技術(shù),雖然存在固有的缺陷,但在啟動(dòng)速度、隔離度等方面有諸多優(yōu)勢[4]。

        1? 技術(shù)背景

        Docker作為一種高級(jí)容器引擎,基于Go語言開發(fā),在LXC之上做進(jìn)一步封裝,提高了標(biāo)準(zhǔn)化和可移植性。LXC主要實(shí)現(xiàn)在單個(gè)宿主機(jī)上同時(shí)運(yùn)行多個(gè)Linux系統(tǒng),為每個(gè)虛擬化環(huán)境,提供自己的進(jìn)程和網(wǎng)絡(luò)空間,保證多個(gè)容器之間的隔離。所以與傳統(tǒng)的虛擬化技術(shù)相比,它是一種輕量級(jí)技術(shù),在虛擬機(jī)數(shù)量和資源消耗方面做了很好的平衡[4]。

        基于Docker引擎虛擬化技術(shù),存在兩個(gè)重要的概念:鏡像(Image)和容器(Container)。容器提供了一個(gè)虛擬化環(huán)境,這個(gè)虛擬化環(huán)境基本與完整的Linux環(huán)境保持一致。鏡像可以理解為一個(gè)純凈的操作系統(tǒng),可以在基礎(chǔ)鏡像上做安裝應(yīng)用、配置某些環(huán)境變量等操作,形成自己的鏡像,利用此鏡像可以構(gòu)建一個(gè)可運(yùn)行的環(huán)境[4]。

        2? 基于Docker虛擬化架構(gòu)

        傳統(tǒng)的基于硬件的虛擬化技術(shù)如圖1所示,對于每一個(gè)上層虛擬化應(yīng)用而言都需要一個(gè)獨(dú)立完整的操作系統(tǒng),通過在Host OS上構(gòu)建Guest OS來達(dá)到資源環(huán)境的隔離,基于獨(dú)立的操作系統(tǒng)再配置各種應(yīng)用[5]。由處于基礎(chǔ)物理服務(wù)器和操作系統(tǒng)中間層的Hypervisors負(fù)責(zé)協(xié)調(diào)不同虛擬機(jī)對于CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)組件等資源的訪問,虛擬子系統(tǒng)的指令集通過硬件或者進(jìn)制轉(zhuǎn)換為宿主機(jī)指令集[6]。不同主機(jī)上的應(yīng)用通過網(wǎng)絡(luò)等間接方式進(jìn)行數(shù)據(jù)交換。這種需要獨(dú)立操作系統(tǒng)的虛擬化技術(shù)對于宿主機(jī)要求較高,而且維護(hù)性不是很好,缺乏靈活性,增量的擴(kuò)展能力比較弱,最主要的是應(yīng)用程序之間的通信比較復(fù)雜。而基于Docker引擎的虛擬化技術(shù),可以很好的擺脫上面的約束。

        與傳統(tǒng)虛擬化技術(shù)不同的是,基于Docker引擎的虛擬化技術(shù)是系統(tǒng)級(jí)的虛擬,并沒有針對硬件層虛擬,通過共享底層虛擬的容器,去構(gòu)建獨(dú)立的應(yīng)用系統(tǒng)。一方面降低對物理資源的占用[7],減少鏡像消耗的空間,另一方面,可以提供宿主機(jī)的分發(fā)能力,提供虛機(jī)部署的靈活性。

        3? Docker引擎體系架構(gòu)

        Docker引擎采用如圖2所示的架構(gòu)模式。Client與Host之間通過RESTful API或者socket進(jìn)行的通信。Docker Host主要由Server、Engine和Container三個(gè)部件組成。Server通過路由與分發(fā)調(diào)度機(jī)制,找到Engine中的相應(yīng)job來處理客戶端的請求。Engine是系統(tǒng)結(jié)構(gòu)中的運(yùn)行引擎,同時(shí)也是容器運(yùn)行的核心模塊,通過在Engine中創(chuàng)建job的方式來操縱管理所有客戶端發(fā)送的請求[8-9]。

        Docker Host是服務(wù)端中一個(gè)常駐在后臺(tái)的守護(hù)服務(wù)進(jìn)程,該守護(hù)進(jìn)程在后臺(tái)啟動(dòng)一個(gè)Server進(jìn)程,其工作職責(zé)是接受客戶端發(fā)送的請求。Host中的Container是Docker系統(tǒng)結(jié)構(gòu)中服務(wù)交付的最終體現(xiàn)方式。Docker可以直接調(diào)用Libcontainer庫文件,從而直接操縱Kernel中的namespace、cgroups、網(wǎng)絡(luò)等其它設(shè)備[8]。

        Kernel主要由Namespaces和Cgroups(Controlgroups)構(gòu)成。Namespaces實(shí)現(xiàn)了容器之間的隔離,為每個(gè)容器提供不同的主機(jī)名,保證每個(gè)容器都有獨(dú)立的運(yùn)行空間。Cgroups主要用來管控系統(tǒng)的資源分配、權(quán)限限制等問題,保證容器之間可以平等使用系統(tǒng)的物理資源[7]。

        4? PAAS平臺(tái)測試環(huán)境搭建

        本次搭建的基于Docker引擎的PAAS平臺(tái)采用圖3的技術(shù)架構(gòu)。Master通過Scheculer將各個(gè)任務(wù)和資源分配到每個(gè)節(jié)點(diǎn)上,Docker容器在啟動(dòng)的時(shí)候會(huì)將消息通知Etcd服務(wù),Etcd服務(wù)將已經(jīng)啟動(dòng)容器信息注冊到Etcd鍵值庫中。KLBEPROXY將Etcd中相關(guān)的服務(wù)變化,記錄到自己的cfg配置文件中并執(zhí)行重新加載命令,使相關(guān)變化生效,同樣當(dāng)容器停止時(shí)也會(huì)觸發(fā)KLBPROXY更新cfg配置文件并重新加載,達(dá)到動(dòng)態(tài)服務(wù)注冊。業(yè)務(wù)請求通過KLBEPROXY分發(fā)到Docker容器中的應(yīng)用[10]。Docker倉庫(Docker Registry)是存儲(chǔ)容器鏡像的管理倉庫。用戶或組織創(chuàng)建的各種應(yīng)用包、鏡像可以通過PUSH指令將其上傳到Docker倉庫中??梢酝ㄟ^PULL指令從Docker Registry中下載鏡像。

        本次測試過程中采用了如下所示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),流量無需經(jīng)過防火墻,直接在內(nèi)網(wǎng)內(nèi)流通,其網(wǎng)絡(luò)架構(gòu)如圖4所示。

        VMware與PaaS平臺(tái)上均部署了Tomcat、Oracle和Mysql。1核CPU,2G內(nèi)存的配置虛擬機(jī)創(chuàng)建3臺(tái),2核CPU,4G內(nèi)存的配置虛擬機(jī)創(chuàng)建3臺(tái),4核CPU,8G內(nèi)存的配置虛擬機(jī)創(chuàng)建3臺(tái)。

        5? 試驗(yàn)結(jié)果分析

        采用圖4的測試環(huán)境,將Tomcat分別部署在PaaS平臺(tái)和VMware虛擬機(jī)上,設(shè)置100個(gè)線程、1000次循環(huán),我們得到如下的測試結(jié)果。

        在請求量為10000次的情況下,采用2核CPU、4 G內(nèi)存配置的情況下,Docker的平均響應(yīng)時(shí)間為175毫秒,中位數(shù)為45毫秒,99%用戶的響應(yīng)時(shí)間為813.6毫秒,最大響應(yīng)時(shí)間為45121.6毫秒,吞吐量為541.4,每秒從服務(wù)器端接收到的數(shù)據(jù)量為79.8 KB。而Vmware的平均響應(yīng)時(shí)間為47毫秒,中位數(shù)為47毫秒,99%用戶的響應(yīng)時(shí)間為59.6毫秒,最大響應(yīng)時(shí)間為1249.6毫秒,吞吐量為2098.3,每秒從服務(wù)器端接收到的數(shù)據(jù)量為309.4 KB。對于4核CPU、8G內(nèi)存的配置而言,Docker的平均響應(yīng)時(shí)間為5.3毫秒,中位數(shù)為6毫秒,99%用戶的響應(yīng)時(shí)間為13毫秒,最大響應(yīng)時(shí)間為52.3毫秒,吞吐量為14036,每秒從服務(wù)器端接收到的數(shù)據(jù)量為2072.3 KB。而Vmware的平均響應(yīng)時(shí)間為25毫秒,中位數(shù)為25.3毫秒,99%用戶的響應(yīng)時(shí)間為33.6毫秒,最大響應(yīng)時(shí)間為361.3毫秒,吞吐量為3852.3,每秒從服務(wù)器端接收到的數(shù)據(jù)量為568 KB。

        對于Tomcat應(yīng)用而言,當(dāng)采用2核CPU、4 G內(nèi)存配置的時(shí)候,Vmware在平均響應(yīng)時(shí)間、中位數(shù)、最大響應(yīng)時(shí)間、吞吐量等指標(biāo)都要優(yōu)于Docker。將系統(tǒng)的配置變?yōu)?核CPU、8 G內(nèi)存在做測試的時(shí)候,相對于2核CPU、4 G內(nèi)存而言,Docker和VMware的各項(xiàng)指標(biāo)都有所提升,但Docker的性能提升更加明顯。

        對于Mysql進(jìn)行空表插入,設(shè)置500個(gè)線程、100次循環(huán),對于1核CPU、2 G內(nèi)存,2核CPU、4 G內(nèi)存,我們得到如下的測試結(jié)果。

        在請求量為50000次的情況下,采用1核CPU、2G內(nèi)存配置的情況下,Docker的平均響應(yīng)時(shí)間為119.6毫秒,中位數(shù)為27.3毫秒,99%用戶的響應(yīng)時(shí)間為1723.3毫秒,最大響應(yīng)時(shí)間為6012.3毫秒,吞吐量為3224.5,每秒從服務(wù)器端接收到的數(shù)據(jù)量為129.1 KB。而Vmware的平均響應(yīng)時(shí)間為212.6毫秒,中位數(shù)為202.3毫秒,99%用戶的響應(yīng)時(shí)間為891.3毫秒,最大響應(yīng)時(shí)間為2210.6毫秒,吞吐量為2139.8,每秒從服務(wù)器端接收到的數(shù)據(jù)量為85.6KB。對于2核CPU、4G內(nèi)存的配置而言,Docker的平均響應(yīng)時(shí)間為111毫秒,中位數(shù)為24毫秒,99%用戶的響應(yīng)時(shí)間為1574毫秒,最大響應(yīng)時(shí)間為5061.3毫秒,吞吐量為3470.5,每秒從服務(wù)器端接收到的數(shù)據(jù)量為138.9 KB。而Vmware的平均響應(yīng)時(shí)間為127毫秒,中位數(shù)為121.3毫秒,99%用戶的響應(yīng)時(shí)間為514.6毫秒,最大響應(yīng)時(shí)間為1258.6毫秒,吞吐量為3476.8,每秒從服務(wù)器端接收到的數(shù)據(jù)量為139.2 KB。

        對于Mysql這一應(yīng)用而言,無論采用1核CPU、2 G內(nèi)存,還是采用2核CPU、4 G內(nèi)存,Docker在平均響應(yīng)時(shí)間、最大響應(yīng)時(shí)間、吞吐量等性能指標(biāo)都要優(yōu)于Vmware,但當(dāng)系統(tǒng)配置提高的時(shí)候,兩者之間的差距被縮小。

        猜你喜歡
        吞吐量虛擬化
        對基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
        電子制作(2018年14期)2018-08-21 01:38:20
        虛擬化技術(shù)在CTC/TDCS系統(tǒng)中的應(yīng)用研究
        虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
        電子測試(2017年11期)2017-12-15 08:57:56
        2017年6月長三角地區(qū)主要港口吞吐量
        集裝箱化(2017年7期)2017-08-23 10:53:40
        2017年4月長三角地區(qū)主要港口吞吐量
        集裝箱化(2017年5期)2017-07-06 14:55:16
        淺析虛擬化技術(shù)的安全保障
        電子制作(2017年7期)2017-06-05 09:36:13
        2016年10月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年11期)2017-03-29 16:15:48
        2016年11月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年12期)2017-03-20 08:32:27
        高速公路服務(wù)器虛擬化技術(shù)應(yīng)用與探討
        存儲(chǔ)虛擬化還有優(yōu)勢嗎?
        精产国品一二三产品蜜桃| 国产成人精品日本亚洲专区61| 视频一区视频二区制服丝袜| 人妻av无码一区二区三区| 东北妇女xx做爰视频| 女人做爰高潮呻吟17分钟| 四虎在线播放免费永久视频| 纯爱无遮挡h肉动漫在线播放| 色婷婷欧美在线播放内射| 人妻无码一区二区在线影院| 欧美综合自拍亚洲综合百度| 邻居少妇张开腿让我爽视频| 亚洲精品国产亚洲av| 无套内谢孕妇毛片免费看| 久久精品国产久精国产果冻传媒| 亚洲av永久无码精品一区二区| 国产精品女同一区二区| 亚洲人成人99网站| av天堂吧手机版在线观看| 国产三级av在线精品| 一区二区精品国产亚洲| av中文字幕潮喷人妻系列| 狠狠色婷婷久久一区二区| 日本久久精品免费播放| 亚洲精品国产精品系列| 北条麻妃在线中文字幕| 日本一区二区三区爆乳| 无码ol丝袜高跟秘书在线观看| 亚洲一区二区三区偷拍女厕| 亚洲精品国产精品av| 精品亚洲一区二区三区在线播放| 国产无套内射又大又猛又粗又爽| 国产成人久久精品一区二区三区| 无码午夜人妻一区二区三区不卡视频| 国产免费av片在线观看播放| 一区二区在线观看日本免费| 亚洲国产一区二区三区| 山外人精品影院| 国产suv精品一区二区69| 素人系列免费在线观看| 高清不卡av一区二区|