高芳
社會發(fā)展已經(jīng)進(jìn)入云計算時代,在這一時代背景中,云資源池項目大范圍構(gòu)建,并在云資源池引入核心應(yīng)用系統(tǒng)。本文從評估私有云資源的需求,抽象業(yè)務(wù)應(yīng)用模型,定義業(yè)務(wù)應(yīng)用關(guān)鍵指標(biāo),根據(jù)業(yè)務(wù)應(yīng)用關(guān)鍵指標(biāo),匹配私有云資源池的云服務(wù)規(guī)格和數(shù)量。通過資源評估規(guī)范,為業(yè)務(wù)系統(tǒng)的資源申請?zhí)峁┝藢崪y數(shù)據(jù)和通用軟件的最佳配置模型參考,建立合理的資源使用標(biāo)準(zhǔn),提升虛擬化整合比例和資源利用率。
隨著私有云的廣泛應(yīng)用,各使用單位普遍存在資源利用率不高,資源分配沒有參考標(biāo)準(zhǔn),經(jīng)常分的比實際需求大的問題。如何更好的發(fā)揮私有云資源的使用效率,如何在滿足業(yè)務(wù)需求情況下選擇合理的資源配置規(guī)格就成了目前需要研究的重點。
合理評估業(yè)務(wù)應(yīng)用對私有云資源的需求,抽象業(yè)務(wù)應(yīng)用模型,定義業(yè)務(wù)應(yīng)用關(guān)鍵指標(biāo),根據(jù)業(yè)務(wù)應(yīng)用關(guān)鍵指標(biāo),匹配私有云資源池的云服務(wù)規(guī)格和數(shù)量。通過資源評估規(guī)范,為業(yè)務(wù)系統(tǒng)的資源申請?zhí)峁┝藢崪y數(shù)據(jù)和通用軟件的最佳配置模型參考,建立合理的資源使用標(biāo)準(zhǔn),提升虛擬化整合比例和資源利用率。
對業(yè)務(wù)常用的通用組件進(jìn)行大規(guī)模性能測試,業(yè)務(wù)分類分場景(web型,交易型,數(shù)據(jù)庫型等)做典型模型的性能測試,包括業(yè)務(wù)系統(tǒng)在CPU各利用率情況下的處理能力TPS值和時延值。通過分析實測數(shù)據(jù),給出各通用組件推薦的虛擬機(jī)規(guī)格(如2U4G,4U8G等)和業(yè)務(wù)承載能力指導(dǎo),并給出通用組件的配置和優(yōu)化參數(shù)最佳實踐,使業(yè)務(wù)入云資源申請有據(jù)可依。
下面是具體的測試方案和效果:
(一)測試模型架構(gòu)
如圖1所示,在本次測試中典型應(yīng)用組件的選取如下:
JMeter:壓力測試工具:Apache JMeter是Apache組織開發(fā)的基于Java的壓力測試工具,通過模擬出對網(wǎng)站的HTTP請求,對WEB服務(wù)器進(jìn)行壓力和性能測試。
Nginx:可以作為WEB或反向代理服務(wù)器。在此模型下,充當(dāng)反向代理服務(wù)器,為后端的多個Tomcat服務(wù)器提供負(fù)載均衡服務(wù)。
Tomcat:是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。
(二)測試資源規(guī)格選取
根據(jù)經(jīng)驗,應(yīng)用服務(wù)器的CPU和內(nèi)存比一般為1:2,由于Linux部署Tomcat后,空載情況下大約需要1.2~1.5GB內(nèi)存,而業(yè)務(wù)運行時還需要申請內(nèi)存。因此本次測試,忽略1U2G的規(guī)格,分別選取了2U4G、4U8G、8U16G規(guī)格的Tomcat節(jié)點進(jìn)行對比測試,通過JMeter模擬業(yè)務(wù)進(jìn)行壓力測試,觀察不同規(guī)格和CPU負(fù)載下的業(yè)務(wù)指標(biāo)。
將選取的2U4G、4U8G、8U16G 三類配置規(guī)格分為以下3組:
第1組(資源2U4G):2U4G*1臺,測試2U4G規(guī)格單臺的業(yè)務(wù)處理能力
第2組(資源4U8G):4U8G*1臺、2U4G*2臺,測試4U8G規(guī)格單臺的業(yè)務(wù)處理能力,并對比相同資源情況下,業(yè)務(wù)處理能力與虛擬機(jī)規(guī)格、節(jié)點數(shù)量之間的關(guān)系。
第3組(資源8U16G):8U16G1臺、4U8G*2臺、2U4G*4臺,測試8U16G規(guī)格單臺的業(yè)務(wù)處理能力,并對比申請相同資源情況下,業(yè)務(wù)處理能力與虛擬機(jī)規(guī)格、節(jié)點數(shù)量之間的關(guān)系。
(三)指標(biāo)選取
主要關(guān)注的業(yè)務(wù)指標(biāo)如表1所示(通過JMeter的聚合報表和匯總報表可獲取這些指標(biāo)):
(四)結(jié)果分析
如圖2所示,根據(jù)不同配置的服務(wù)器所得到的時延和TPS數(shù)據(jù)。
CPU利用率小于70%時,TPS與CPU利用率基本為線性增長。
CPU利用率達(dá)到50%~70%時,會出現(xiàn)性能拐點:時延明顯上升,TPS增長放緩。
相同資源量和CPU利用率情況下,小規(guī)格虛擬機(jī)的業(yè)務(wù)指標(biāo)優(yōu)于大規(guī)格虛擬機(jī)。
按照類似的方法,對業(yè)務(wù)分類分場景(web型,通用性,交易型,數(shù)據(jù)庫型等)做了典型模型的性能測試,找出性價比最好的VM規(guī)格,同時結(jié)合業(yè)務(wù)QoS水平,對實測數(shù)據(jù)進(jìn)行分析,給出推薦的虛擬機(jī)配置規(guī)格清單如表2所示:
通過上述研究,在系統(tǒng)入云進(jìn)行資源申請時,解決了通用軟件資源分配無標(biāo)準(zhǔn)可參考的問題。在實際實施層面,建議優(yōu)先小顆粒VM資源分配做Scale-out,上線后,參照云平臺報表數(shù)據(jù),對模型進(jìn)行持續(xù)優(yōu)化和VM資源配置調(diào)整,保證資源的合理使用。
由于本次研究是基于不同場景下的通用軟件進(jìn)行的,具備普遍的指導(dǎo)意義,可幫助業(yè)務(wù)系統(tǒng)做上云評估,指導(dǎo)業(yè)務(wù)進(jìn)行上云整改,協(xié)助業(yè)務(wù)上云,有效提升私有云資源的合理使用,在系統(tǒng)入云過程中可以廣泛借鑒使用。
本次研究做了大量通用技術(shù)組件的測試,通過實測數(shù)據(jù),給出推薦的虛擬機(jī)規(guī)格(如2U4G,4U8G),并測試出在CPU內(nèi)存各利用率情況下的TPS和時延值,供業(yè)務(wù)系統(tǒng)資源申請時做參考,為業(yè)務(wù)系統(tǒng)的資源申請?zhí)峁┝藢崪y數(shù)據(jù)參考,并提供了多個通用軟件的最佳使用配置和優(yōu)化案例。