999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Docker引擎虛擬化技術的應用研究

2020-12-23 05:47:19劉晶晶朱寅非
軟件 2020年10期

劉晶晶 朱寅非

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

關鍵詞: 虛擬化;Docker;吞吐量

中圖分類號: TP391? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.001

本文著錄格式:劉晶晶,朱寅非. 基于Docker引擎虛擬化技術的應用研究[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? 引言

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

1? 技術背景

Docker作為一種高級容器引擎,基于Go語言開發,在LXC之上做進一步封裝,提高了標準化和可移植性。LXC主要實現在單個宿主機上同時運行多個Linux系統,為每個虛擬化環境,提供自己的進程和網絡空間,保證多個容器之間的隔離。所以與傳統的虛擬化技術相比,它是一種輕量級技術,在虛擬機數量和資源消耗方面做了很好的平衡[4]。

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

2? 基于Docker虛擬化架構

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

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

3? Docker引擎體系架構

Docker引擎采用如圖2所示的架構模式。Client與Host之間通過RESTful API或者socket進行的通信。Docker Host主要由Server、Engine和Container三個部件組成。Server通過路由與分發調度機制,找到Engine中的相應job來處理客戶端的請求。Engine是系統結構中的運行引擎,同時也是容器運行的核心模塊,通過在Engine中創建job的方式來操縱管理所有客戶端發送的請求[8-9]。

Docker Host是服務端中一個常駐在后臺的守護服務進程,該守護進程在后臺啟動一個Server進程,其工作職責是接受客戶端發送的請求。Host中的Container是Docker系統結構中服務交付的最終體現方式。Docker可以直接調用Libcontainer庫文件,從而直接操縱Kernel中的namespace、cgroups、網絡等其它設備[8]。

Kernel主要由Namespaces和Cgroups(Controlgroups)構成。Namespaces實現了容器之間的隔離,為每個容器提供不同的主機名,保證每個容器都有獨立的運行空間。Cgroups主要用來管控系統的資源分配、權限限制等問題,保證容器之間可以平等使用系統的物理資源[7]。

4? PAAS平臺測試環境搭建

本次搭建的基于Docker引擎的PAAS平臺采用圖3的技術架構。Master通過Scheculer將各個任務和資源分配到每個節點上,Docker容器在啟動的時候會將消息通知Etcd服務,Etcd服務將已經啟動容器信息注冊到Etcd鍵值庫中。KLBEPROXY將Etcd中相關的服務變化,記錄到自己的cfg配置文件中并執行重新加載命令,使相關變化生效,同樣當容器停止時也會觸發KLBPROXY更新cfg配置文件并重新加載,達到動態服務注冊。業務請求通過KLBEPROXY分發到Docker容器中的應用[10]。Docker倉庫(Docker Registry)是存儲容器鏡像的管理倉庫。用戶或組織創建的各種應用包、鏡像可以通過PUSH指令將其上傳到Docker倉庫中。可以通過PULL指令從Docker Registry中下載鏡像。

本次測試過程中采用了如下所示網絡拓撲結構,流量無需經過防火墻,直接在內網內流通,其網絡架構如圖4所示。

VMware與PaaS平臺上均部署了Tomcat、Oracle和Mysql。1核CPU,2G內存的配置虛擬機創建3臺,2核CPU,4G內存的配置虛擬機創建3臺,4核CPU,8G內存的配置虛擬機創建3臺。

5? 試驗結果分析

采用圖4的測試環境,將Tomcat分別部署在PaaS平臺和VMware虛擬機上,設置100個線程、1000次循環,我們得到如下的測試結果。

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

對于Tomcat應用而言,當采用2核CPU、4 G內存配置的時候,Vmware在平均響應時間、中位數、最大響應時間、吞吐量等指標都要優于Docker。將系統的配置變為4核CPU、8 G內存在做測試的時候,相對于2核CPU、4 G內存而言,Docker和VMware的各項指標都有所提升,但Docker的性能提升更加明顯。

對于Mysql進行空表插入,設置500個線程、100次循環,對于1核CPU、2 G內存,2核CPU、4 G內存,我們得到如下的測試結果。

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

對于Mysql這一應用而言,無論采用1核CPU、2 G內存,還是采用2核CPU、4 G內存,Docker在平均響應時間、最大響應時間、吞吐量等性能指標都要優于Vmware,但當系統配置提高的時候,兩者之間的差距被縮小。

主站蜘蛛池模板: 免费高清a毛片| 2021最新国产精品网站| 中文字幕欧美日韩高清| 亚洲免费福利视频| 亚洲性视频网站| 日韩av高清无码一区二区三区| 国产高清在线精品一区二区三区 | 真人免费一级毛片一区二区| 农村乱人伦一区二区| 国产精品lululu在线观看| 欧美一区精品| 欧美日本中文| 亚洲人成网站观看在线观看| 成人福利视频网| 欧美中文字幕在线播放| 在线无码九区| 亚洲综合第一页| av一区二区三区在线观看| 午夜精品区| 伊人久久大香线蕉影院| 中文字幕亚洲另类天堂| 亚洲欧洲免费视频| 国产精品无码AⅤ在线观看播放| 五月天香蕉视频国产亚| 永久在线播放| 欧美成人精品在线| 日韩人妻无码制服丝袜视频| 亚洲精品片911| 国产新AV天堂| 亚洲系列中文字幕一区二区| 青青草原国产一区二区| 国产熟女一级毛片| 91精品久久久无码中文字幕vr| 91在线无码精品秘九色APP| 欧美一区国产| 国产一区在线视频观看| 亚洲欧美综合精品久久成人网| 国产成人狂喷潮在线观看2345| 国产成人精品日本亚洲| 国产精品成人一区二区不卡| 亚洲性影院| 高清国产va日韩亚洲免费午夜电影| 久久精品国产精品青草app| 日本人真淫视频一区二区三区| 四虎永久在线| 国产国产人免费视频成18| 99久久精品国产综合婷婷| 国产成年女人特黄特色大片免费| 日本在线国产| 免费看av在线网站网址| 欧美日韩资源| 无码人妻热线精品视频| 日韩免费成人| 免费一级全黄少妇性色生活片| 国产精品尤物在线| 免费国产无遮挡又黄又爽| 狠狠色狠狠综合久久| 国产91小视频| 四虎精品黑人视频| 久久综合伊人77777| 欧美一区精品| 国产人碰人摸人爱免费视频| 尤物国产在线| 在线中文字幕网| 999国内精品久久免费视频| 中文精品久久久久国产网址| 99国产在线视频| 为你提供最新久久精品久久综合| 久久美女精品国产精品亚洲| 国产91九色在线播放| 欧美精品二区| 在线人成精品免费视频| 午夜视频日本| 亚洲国产一区在线观看| 97影院午夜在线观看视频| 九九九精品成人免费视频7| 国产免费久久精品99re丫丫一| 国产精品视屏| 国产成人成人一区二区| 久久窝窝国产精品午夜看片| 成人国产免费| www.youjizz.com久久|