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,但當系統配置提高的時候,兩者之間的差距被縮小。

主站蜘蛛池模板: 亚洲成人黄色在线| 又粗又硬又大又爽免费视频播放| 狠狠色狠狠综合久久| 国产欧美日韩18| 91在线视频福利| 免费看的一级毛片| 国产草草影院18成年视频| 19国产精品麻豆免费观看| 国产一在线| 伊人网址在线| 欧美精品另类| 国产女人爽到高潮的免费视频 | 91精品在线视频观看| 人人爽人人爽人人片| 午夜视频日本| 九九久久精品免费观看| 国产无码制服丝袜| 91九色国产porny| 日本不卡在线视频| 色久综合在线| 免费高清毛片| 亚欧成人无码AV在线播放| 亚洲成a人片77777在线播放| 亚洲人成成无码网WWW| 中美日韩在线网免费毛片视频| 亚洲欧美人成电影在线观看| 亚洲成人动漫在线观看| 亚洲第一极品精品无码| 夜夜拍夜夜爽| 91国内外精品自在线播放| 国产成本人片免费a∨短片| 丰满人妻久久中文字幕| 国内精自线i品一区202| 成人免费午间影院在线观看| 国产网站一区二区三区| 无码在线激情片| 日韩一区二区在线电影| 毛片大全免费观看| 综合久久久久久久综合网| 99久久亚洲综合精品TS| 国产一级毛片在线| 伊人久久久久久久| 日韩精品专区免费无码aⅴ| 91丝袜乱伦| 老司机aⅴ在线精品导航| 国产一区二区三区在线精品专区| 欧美日本在线观看| 国产亚洲精品自在久久不卡| 亚洲精品国产自在现线最新| 成人在线综合| 国产精品无码久久久久AV| 在线观看欧美国产| 大陆精大陆国产国语精品1024 | 免费不卡视频| 色欲不卡无码一区二区| 98超碰在线观看| 久久久久亚洲Av片无码观看| 日韩免费无码人妻系列| 国产乱子伦一区二区=| 国产不卡网| 性做久久久久久久免费看| av免费在线观看美女叉开腿| 99热这里只有精品2| 国产精品视频999| 中文字幕在线免费看| 免费播放毛片| 国产日韩av在线播放| 亚洲精品欧美日本中文字幕| 国产欧美亚洲精品第3页在线| 国产精品亚欧美一区二区三区 | 狠狠干综合| 国产香蕉97碰碰视频VA碰碰看 | 欧美国产菊爆免费观看| 亚洲性网站| 99视频在线免费| 少妇精品久久久一区二区三区| 少妇极品熟妇人妻专区视频| 99资源在线| 国产一区二区三区日韩精品| 亚洲黄色高清| 国产网站免费看| 日韩亚洲综合在线|