| 研究生: |
王威仁 Wei-jen Wang |
|---|---|
| 論文名稱: |
基於虛擬化的服務集群之效能評估研究 Distributed Service cluster study based on Virtualization Technology |
| 指導教授: |
林銀議
Yin-yi Lin 王尉任 Wei-jen Wang |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 通訊工程學系在職專班 Executive Master of Communication Engineering |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 中文 |
| 論文頁數: | 60 |
| 中文關鍵詞: | 虛擬化 、容器集群 、容器網路 、虛擬機集群 、效能評估 |
| 外文關鍵詞: | Virtualization Technology, Container Cluster, Container Network, Virtual Machine Cluster, Performance Evaluation |
| 相關次數: | 點閱:13 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
隨著企業廣泛使用雲端環境開發各種應用程式,並在雲端部署各種服務,虛擬化技術也隨著被應用到各種不同的雲端環境、及資料中心,虛擬機器(Virtual Machine)基於虛擬機管理程序的虛擬化技術,也是目前大部分企業運行服務所使用的環境,透過虛擬機器運行服務雖然能充分運用硬體資源、並提供服務獨立的運作環境,但是往往消耗大量硬體資源,同時對服務造成一定的延遲與效能損耗。
近年來Container容器技術快速崛起,容器直接運作在作業系統之上,啟動時只需要應用程式執行所需的程式碼、函式庫、與環境配置,因此可以快速啟動,透過容器網路可以迅速把服務部署到不同的服務主機、甚至不同的雲端環境,形成分散式容器集群來提供服務,本篇論文考量目前雲端被廣泛用於托管Web應用程式的現況,設計由Docker、KVM、VMware Workstation、Docker on KVM、Docker on VMware等五種目前大多數企業運行服務所採用的虛擬化技術與服務架構作為實驗情境,實際將Web網頁服務部署上各種情境,透過一套評估方式、並進行一系列實驗、與研究,評估虛擬化對分散式服務集群造成的影響。
實驗結果顯示容器虛擬化在處理傳入請求上明顯較其它情境快速,造成的額外資源開銷也較其它情境少,與不經任何形式虛擬化環境相比約造成5%的效能開銷、其次是KVM的21%,從實驗結果也顯示基於虛擬機管理程序的虛擬化在磁碟I/O讀取頻繁時會帶入大量延遲影響到集群處理效能,此外在虛擬機上運行Docker,雖然管理上較為便利,但會帶入大量的效能開銷與延遲,如需部署對效能與回應時間有嚴格要求的服務時,建議應該盡量避免使用Docker on VM的方式。
Recent years Cloud computing is developed rapidly, and virtualization technology is also applied to various cloud environments and data centers. Virtual machine is based on hypervisor-based technology which is also the environment used by most enterprises to deploy applications. Virtual machine could be improved for hardware utilization and creating an isolated environment, however, it also causes additional cost overhead for hardware resource and performance.
In recent years, the Container-based virtualization has been risen rapidly. Container-based virtualization works at operating system level, the starting time is faster. Through container network, the application can be quickly deployed to different hosts in order to provide cluster service.
In this paper, I have implemented five different types of virtualization environments: Docker, KVM, VMware Workstation, Docker on KVM, Docker on VMware, and currently they are used by most enterprises to run web applications and then it provides a set of performance evaluation methods and conducting a series of experiments to evaluate the impact of different virtualization technologies on distributed web application cluster.
Experimental results show that container virtualization which is significantly faster than other virtualization environments in responding to connect requests and less additional hardware resource overhead. Compared with physical machine, Container virtualization causes about 5% performance overhead, and is followed by 21% of KVM. The experimental results also show that hypervisor-based virtualization will bring a lot of delay when the disk I / O reads frequently, and causes performance loss. Although running a container on top of virtual machine is a common case, according to experimental results it will bring a lot of performance overhead and responding delay. If enterprise needs to run applications that have strict requirements on performance and response time, it could be recommended to avoid running a container on top of virtual machine.
[1] Mavridis, I. and H. Karatza, "Performance and Overhead Study of Containers Running on Top of Virtual Machines". in 2017 IEEE 19th Conference on Business Informatics (CBI),pp.32-38, 2017.
[2] Morabito, R., "Power Consumption of Virtualization Technologies: An Empirical Investigation". in 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing (UCC),pp.522-527, 2015.
[3] Barik, R.K., et al., "Performance analysis of virtual machines and containers in cloud computing". in 2016 International Conference on Computing, Communication and Automation (ICCCA),pp.1204-1210, 2016.
[4] Xie, X., P. Wang, and Q. Wang, "The Performance Comparison of Native and Containers for the Cloud". in 2018 International Conference on Smart Grid and Electrical Automation (ICSGEA),pp.378-381, 2018.
[5] Poojara, S.R., et al., "Performance Analysis of Linux Container and Hypervisor for Application Deployment on Clouds". in 2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS),pp.24-29, 2018.
[6] Á, K., "Comparison of different Linux containers". in 2017 40th International Conference on Telecommunications and Signal Processing (TSP),pp.47-51, 2017.
[7] Xavier, M.G., et al., "Performance Evaluation of Container-Based Virtualization for High Performance Computing Environments". in 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing,pp.233-240, 2013.
[8] Naik, N., "Building a virtual system of systems using docker swarm in multiple clouds". in 2016 IEEE International Symposium on Systems Engineering (ISSE),pp.1-3, 2016.
[9] Kumar, K. and M. Kurhekar, "Economically Efficient Virtualization over Cloud Using Docker Containers". in 2016 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM),pp.95-100, 2016.
[10] Cochrane, K., et al., Docker工作現場實戰寶典,初版,碁峰,2019年3月。
[11] " kubernetes " Accessed: July 10,2019. [Online]. Available: https://kubernetes.io/
[12] Burns, B., et al., Kubernetes:建置與執行,初版,歐萊禮,2018年5月。
[13] Zeng, H., et al., "Measurement and Evaluation for Docker Container Networking". in 2017 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC),pp.105-108, 2017.
[14] " Docker Container Networks." Accessed: July 10,2019. [Online]. Available: https://success.docker.com/article/networking
[15] " Docker Networking Overview" Accessed: July 10,2019. [Online]. Available: https://docs.docker.com/network/
[16] Kumar, D. and A.F.F. Magloire, "Hypervisor based performance characterization: XEN/KVM". in 2017 2nd International Conference on Telecommunication and Networks (TEL-NET),pp.1-4, 2017.
[17] Yang, J. and Y. Lan, "A Performance Evaluation Model for Virtual Servers in KVM-Based Virtualized System". in 2015 IEEE International Conference on Smart City/SocialCom/SustainCom (SmartCity),pp.66-71, 2015.
[18] " KVM Networking" Accessed: July 10,2019. [Online]. Available: https://www.linux-kvm.org/page/Networking
[19] "QEMU" Accessed: July 10,2019. [Online]. Available: https://wiki.qemu.org/Main_Page
[20] "libvirt" Accessed: July 10,2019. [Online]. Available: https://libvirt.org/docs.html
[21] 熊信彰,實戰雲端作業系統建置與維護:VMware vSphere 5.5 虛擬化全面啟動,第一版,碁峰,台灣,2014年9月。
[22] "Nginx" Accessed: July 10,2019. [Online]. Available: https://nginx.org/en/docs/
[23] "Amazon Elastic Container Service" Accessed: July 10,2019. [Online]. Available: https://aws.amazon.com/tw/ecs/
[24] "Understanding the key differences between LXC and Docker" Accessed: July 10,2019. [Online]. Available: https://www.flockport.com/lxc-vs-docker/.
[25] Chelladhurai, J., P.R. Chelliah, and S.A. Kumar, "Securing Docker Containers from Denial of Service (DoS) Attacks". in 2016 IEEE International Conference on Services Computing (SCC),pp.856-859, 2016.