參數架構設定考驗功力 Docker效能調校有眉角

Docker容器技術素以輕量級且容易部署等特色著稱,也因此得到眾多開發管理人員的青睞,但是若未經過仔細的效能調校,實際運作時效能可能會不如預期,對此本文將透過多項測試來加以驗證,實際導入Docker容器技術後,還必須進一步地調整校正,才能發揮這項技術的真正優勢。

由於Docker容器技術輕量化的應用方式可搭配新興的微服務架構,因此越來越多企業和組織在部署營運服務時,開始將Docker容器技術的部署方式加入至營運服務的環節當中。下列便是目前企業和組織部署營運服務時主要的四種應用情境,如圖5所示:


▲ 圖5 目前企業和組織部署營運服務時主要的四種應用情境。(圖片來源:VMware Blogs - Scaling Out Redis Performance with Docker on vSphere 6.0)

‧ 裸機:直接在x86實體伺服器上安裝應用程式或服務所需的作業系統,之後直接運作相關的應用程式與服務。

‧ VM虛擬主機:以x86實體伺服器為基礎,在其上建構虛擬化基礎架構(例如VMware vSphere),為VM虛擬主機安裝好Guest OS客體作業系統,之後運作所需的應用程式或服務。

‧ 裸機 + Docker容器:在x86實體伺服器上安裝作業系統並組態設定Docker容器運作環境,然後透過Docker容器技術運作所需的應用程式和服務。

‧ VM虛擬主機 + Docker容器:除了採用虛擬化基礎架構建構最佳化的VM虛擬主機之外,待VM虛擬主機安裝好Guest OS客體作業系統之後,組態設定Docker容器執行環境後運作所需的應用程式和服務。

企業和組織在建置營運服務時,部署在裸機、VM虛擬主機或Docker容器三者時,當中究竟是何者的運作效能最佳?對此,本文將說明及實作在裸機和VMware vSphere 6.5虛擬化平台上,測試裸機原生運作應用程式及VM虛擬主機運作應用程式,以及VM虛擬主機搭配Docker容器環境運作應用程式這三者之間的效能差異。

使用Weathervane效能測試工具

在效能測試方面採用Weathervane 1.0.15效能測試工具,它能夠模擬典型的拍賣網站工作負載,並且這些工作負載可以部署在作業系統或Docker容器環境內。在Weathervane的效能測試項目中,包括可擴充的多層Web應用程式(圖6),主要由下列服務項目所組成:

‧ Java Application Server:負責執行拍賣網站工作負載中的核心應用程式服務。

‧ 前端Web服務:負責提供Web網頁服務和網頁請求負載平衡,同時必須支援HTTP-Level快取機制,以便將前端網頁請求正確地遞送到後端服務當中。

‧ 應用程式支援服務:負責為不同服務之間提供訊息及協調服務。

‧ 資料服務:負責提供關聯式資料庫及NoSQL非關聯式資料庫服務。


▲ 圖6 Weathervane效能測試工具可擴充多層應用程式架構示意圖。(圖片來源:VMware White Paper - Performance of Enterprise Web Applications in Docker Containers on VMware vSphere 6.5)

效能測試環境說明

在本文效能測試環境中,採用4台實體伺服器進行整個效能測試作業,如圖7所示,其中2台擔任Driver Servers角色,負責運作相關工作負載的VM虛擬主機,另外2台則擔任Test Server角色,這兩台當中有一台是安裝VMware vSphere 6.5虛擬化平台,然後在VM虛擬主機中安裝CentOS 7.3客體作業系統以便提供Docker容器環境,另一台則是直接裸機安裝CentOS 7.3作業系統以提供Docker容器環境。


▲ 圖7 Weathervane效能測試環境示意圖。(圖片來源:VMware White Paper - Performance of Enterprise Web Applications in Docker Containers on VMware vSphere 6.5)

VM虛擬主機測試環境

在Test Server角色中,其中1台x86伺服器為安裝VMware vSphere 6.5虛擬化平台,第一項測試項目是在直接以VM虛擬主機安裝CentOS 7.3作業系統後,以「VM虛擬主機」為單位執行不同的Weathervane角色進行效能測試,如表1所示,相關項目如下:

‧ vSphere 6.5電力選項:調整為High Performance

‧ CentOS 7.3客體作業系統:VMware Tools安裝版本採用open-vm-tools 10.0.5-4.el7_3版

‧ 硬體資源:總共建立13台VM虛擬主機,共使用32 vCPU及150GB vRAM。

在第二項測試項目中,vSphere 6.5和VM虛擬主機採用的硬體配置同上,在每台VM虛擬主機上僅運作「1個容器」,也就是以「容器」為單位執行不同的Weathervane角色進行效能測試。每台VM虛擬主機安裝CentOS 7.3客體作業系統,並安裝Docker容器運作環境(Docker版本17.05.0-ce)。在容器虛擬網路部分,則是採用預設跨主機的「Overlay Driver」。

表1 VM虛擬主機和VM虛擬主機搭配Docker容器效能測試

裸機測試環境

在Test Server角色中,另一台x86伺服器為直接安裝CentOS 7.3作業系統,然後安裝Docker容器運作環境(Docker版本17.10.0-ce),在容器虛擬網路的部分,則是採用預設跨主機的「Overlay Driver」,以「裸機」的方式進行Weathervane效能測試作業,如圖8所示。


▲ 圖8 效能測試環境採用Docker容器技術版本。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!