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

主站蜘蛛池模板: 日韩欧美网址| 在线观看精品自拍视频| 婷婷综合在线观看丁香| 亚洲三级片在线看| 亚洲国产日韩在线观看| 青青国产视频| 欧洲一区二区三区无码| 欧美一级在线看| 日韩精品亚洲一区中文字幕| 亚洲天堂.com| 国产区成人精品视频| 在线观看无码a∨| 国产无码高清视频不卡| 激情在线网| 中文字幕1区2区| 国产成人综合久久精品尤物| 亚洲一区二区精品无码久久久| 女人18毛片水真多国产| 国产免费久久精品99re丫丫一| 无套av在线| 国产青青草视频| 国产簧片免费在线播放| 最新亚洲av女人的天堂| 欧美一区二区三区不卡免费| 毛片视频网址| 亚洲va在线∨a天堂va欧美va| 亚洲视频欧美不卡| 综合天天色| 色九九视频| 亚洲精品无码高潮喷水A| 亚洲av无码牛牛影视在线二区| 亚洲爱婷婷色69堂| 国产小视频a在线观看| 国产微拍一区二区三区四区| 四虎国产精品永久一区| 伊人久久精品无码麻豆精品| 天天综合色天天综合网| 秋霞一区二区三区| 成人国产精品一级毛片天堂| 高潮爽到爆的喷水女主播视频 | 亚洲综合第一页| 91精品国产一区自在线拍| 色成人亚洲| 亚洲欧洲一区二区三区| 九九久久99精品| 亚洲国产看片基地久久1024 | 亚欧成人无码AV在线播放| 国产午夜一级毛片| 国产成人一二三| 亚洲区视频在线观看| 久久国产精品电影| 久视频免费精品6| 久久99热这里只有精品免费看| 在线综合亚洲欧美网站| 福利在线免费视频| 亚洲av成人无码网站在线观看| 视频二区亚洲精品| 五月天综合网亚洲综合天堂网| 久久免费视频6| 欧美国产综合色视频| 免费人成在线观看成人片| 午夜国产精品视频| 久久女人网| 日韩毛片免费| 一区二区三区高清视频国产女人| 国产精品视频a| 欧美、日韩、国产综合一区| 国产激情影院| 中文精品久久久久国产网址 | 免费国产福利| 影音先锋亚洲无码| 久久国产热| 国产午夜福利片在线观看| 日本欧美视频在线观看| 天堂网亚洲综合在线| 国产乱子伦手机在线| 亚洲欧美一区在线| 国产一级裸网站| 丁香五月激情图片| 91无码人妻精品一区| 欧美中日韩在线| 最新痴汉在线无码AV|