高芳
社會發展已經進入云計算時代,在這一時代背景中,云資源池項目大范圍構建,并在云資源池引入核心應用系統。本文從評估私有云資源的需求,抽象業務應用模型,定義業務應用關鍵指標,根據業務應用關鍵指標,匹配私有云資源池的云服務規格和數量。通過資源評估規范,為業務系統的資源申請提供了實測數據和通用軟件的最佳配置模型參考,建立合理的資源使用標準,提升虛擬化整合比例和資源利用率。
隨著私有云的廣泛應用,各使用單位普遍存在資源利用率不高,資源分配沒有參考標準,經常分的比實際需求大的問題。如何更好的發揮私有云資源的使用效率,如何在滿足業務需求情況下選擇合理的資源配置規格就成了目前需要研究的重點。
合理評估業務應用對私有云資源的需求,抽象業務應用模型,定義業務應用關鍵指標,根據業務應用關鍵指標,匹配私有云資源池的云服務規格和數量。通過資源評估規范,為業務系統的資源申請提供了實測數據和通用軟件的最佳配置模型參考,建立合理的資源使用標準,提升虛擬化整合比例和資源利用率。
對業務常用的通用組件進行大規模性能測試,業務分類分場景(web型,交易型,數據庫型等)做典型模型的性能測試,包括業務系統在CPU各利用率情況下的處理能力TPS值和時延值。通過分析實測數據,給出各通用組件推薦的虛擬機規格(如2U4G,4U8G等)和業務承載能力指導,并給出通用組件的配置和優化參數最佳實踐,使業務入云資源申請有據可依。
下面是具體的測試方案和效果:
(一)測試模型架構

如圖1所示,在本次測試中典型應用組件的選取如下:
JMeter:壓力測試工具:Apache JMeter是Apache組織開發的基于Java的壓力測試工具,通過模擬出對網站的HTTP請求,對WEB服務器進行壓力和性能測試。
Nginx:可以作為WEB或反向代理服務器。在此模型下,充當反向代理服務器,為后端的多個Tomcat服務器提供負載均衡服務。
Tomcat:是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。
(二)測試資源規格選取
根據經驗,應用服務器的CPU和內存比一般為1:2,由于Linux部署Tomcat后,空載情況下大約需要1.2~1.5GB內存,而業務運行時還需要申請內存。因此本次測試,忽略1U2G的規格,分別選取了2U4G、4U8G、8U16G規格的Tomcat節點進行對比測試,通過JMeter模擬業務進行壓力測試,觀察不同規格和CPU負載下的業務指標。
將選取的2U4G、4U8G、8U16G 三類配置規格分為以下3組:
第1組(資源2U4G):2U4G*1臺,測試2U4G規格單臺的業務處理能力
第2組(資源4U8G):4U8G*1臺、2U4G*2臺,測試4U8G規格單臺的業務處理能力,并對比相同資源情況下,業務處理能力與虛擬機規格、節點數量之間的關系。
第3組(資源8U16G):8U16G1臺、4U8G*2臺、2U4G*4臺,測試8U16G規格單臺的業務處理能力,并對比申請相同資源情況下,業務處理能力與虛擬機規格、節點數量之間的關系。
(三)指標選取
主要關注的業務指標如表1所示(通過JMeter的聚合報表和匯總報表可獲取這些指標):

(四)結果分析

如圖2所示,根據不同配置的服務器所得到的時延和TPS數據。
CPU利用率小于70%時,TPS與CPU利用率基本為線性增長。
CPU利用率達到50%~70%時,會出現性能拐點:時延明顯上升,TPS增長放緩。
相同資源量和CPU利用率情況下,小規格虛擬機的業務指標優于大規格虛擬機。
按照類似的方法,對業務分類分場景(web型,通用性,交易型,數據庫型等)做了典型模型的性能測試,找出性價比最好的VM規格,同時結合業務QoS水平,對實測數據進行分析,給出推薦的虛擬機配置規格清單如表2所示:

通過上述研究,在系統入云進行資源申請時,解決了通用軟件資源分配無標準可參考的問題。在實際實施層面,建議優先小顆粒VM資源分配做Scale-out,上線后,參照云平臺報表數據,對模型進行持續優化和VM資源配置調整,保證資源的合理使用。
由于本次研究是基于不同場景下的通用軟件進行的,具備普遍的指導意義,可幫助業務系統做上云評估,指導業務進行上云整改,協助業務上云,有效提升私有云資源的合理使用,在系統入云過程中可以廣泛借鑒使用。
本次研究做了大量通用技術組件的測試,通過實測數據,給出推薦的虛擬機規格(如2U4G,4U8G),并測試出在CPU內存各利用率情況下的TPS和時延值,供業務系統資源申請時做參考,為業務系統的資源申請提供了實測數據參考,并提供了多個通用軟件的最佳使用配置和優化案例。