本發(fā)明涉及虛擬化云計(jì)算技術(shù)領(lǐng)域,特別涉及一種基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法。
背景技術(shù):
虛擬化技術(shù)與云計(jì)算的結(jié)合日益緊密,給資源的使用帶來了全新的模式?;谔摂M化的技術(shù),系統(tǒng)可以實(shí)現(xiàn)資源的按需分配與調(diào)度。這極大的提升了云服務(wù)平臺(tái)資源的利用率,大大改善了平臺(tái)服務(wù)質(zhì)量,并降低了云用戶擁有成本,而且還給客戶帶來了極好的客戶體驗(yàn)。
但是目前在傳統(tǒng)的互聯(lián)網(wǎng)支付行業(yè)在部署服務(wù)器時(shí),沒有有效的利用資源,無法實(shí)現(xiàn)按需分配。尤其是第三方支付行業(yè),現(xiàn)有的服務(wù)器架構(gòu)大多是采取雙機(jī)備份模式,外圍設(shè)備對(duì)請(qǐng)求進(jìn)行負(fù)載均衡。當(dāng)請(qǐng)求壓力過大時(shí),外圍設(shè)備到達(dá)性能瓶頸,請(qǐng)求便不再是均衡模式,而是往其中一臺(tái)服務(wù)器發(fā)送,造成單機(jī)壓力過大,往往造成死機(jī)或者其他不必要的麻煩,為用戶造成損失。
基于上述情況,本發(fā)明提出了一種基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法,通過使低負(fù)載壓力的虛擬機(jī)釋放空閑內(nèi)存進(jìn)入空閑內(nèi)存池,高負(fù)載壓力的虛擬機(jī)從空閑內(nèi)存池中申請(qǐng)內(nèi)存來降低其內(nèi)存壓力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡(jiǎn)單高效的基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法。
本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法,其特征在于:通過虛擬機(jī)監(jiān)控器實(shí)時(shí)監(jiān)控服務(wù)器整體請(qǐng)求狀況,對(duì)到達(dá)服務(wù)器的請(qǐng)求處理狀況進(jìn)行整體監(jiān)控,同時(shí)對(duì)各個(gè)虛擬服務(wù)器的請(qǐng)求處理狀況進(jìn)行分散監(jiān)控,并記錄其值;并分析各個(gè)虛擬服務(wù)器的請(qǐng)求處理情況占到達(dá)服務(wù)器的總請(qǐng)求量的比值,計(jì)算各個(gè)虛擬服務(wù)器的處理權(quán)值;然后根據(jù)內(nèi)存大小,判斷虛擬服務(wù)器的處理權(quán)值是否達(dá)到閥值θ,啟動(dòng)優(yōu)化內(nèi)存程序,利用虛擬化技術(shù)進(jìn)行閑置資源動(dòng)態(tài)分配,以達(dá)到內(nèi)存優(yōu)化目的。
當(dāng)m臺(tái)物理服務(wù)器上有n臺(tái)虛擬服務(wù)器,其中n≥m,且內(nèi)存大小相同時(shí),啟動(dòng)優(yōu)化內(nèi)存程序的判斷方法如下:
所述閥值θ=(1/m)*120%;
單臺(tái)虛擬服務(wù)器的處理權(quán)值αi=γi/λ,其中γ為到達(dá)服務(wù)器的總請(qǐng)求量,γi為單個(gè)虛擬機(jī)的接受請(qǐng)求量,且γ=∑γi;
當(dāng)αi≥θ時(shí),即可啟動(dòng)優(yōu)化內(nèi)存程序,實(shí)現(xiàn)閑置資源動(dòng)態(tài)分配。
當(dāng)m臺(tái)物理服務(wù)器上有n臺(tái)虛擬服務(wù)器,其中n≥m,且每臺(tái)虛擬服務(wù)器的內(nèi)存小大不一樣時(shí),啟動(dòng)優(yōu)化內(nèi)存程序的判斷方法如下:
每臺(tái)虛擬服務(wù)器內(nèi)存權(quán)值wi=mi/m,其中mi為每臺(tái)虛擬服務(wù)器的內(nèi)存值,m為虛擬服務(wù)器內(nèi)存總和,即m=∑mi;
每臺(tái)虛擬服務(wù)器對(duì)應(yīng)的閥值
每臺(tái)虛擬服務(wù)器的處理權(quán)值其中γ為到達(dá)服務(wù)器的總請(qǐng)求量,γi為單個(gè)虛擬機(jī)的接受請(qǐng)求量,且γ=∑γi;
當(dāng)時(shí),即可啟動(dòng)優(yōu)化內(nèi)存程序,實(shí)現(xiàn)閑置資源動(dòng)態(tài)分配。
本發(fā)明的有益效果是:該基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法,充分利用了虛擬化技術(shù)的資源按需分配性以及可調(diào)度性,能夠最大化利用云平臺(tái)資源,有效緩解了在請(qǐng)求壓力增大時(shí),系統(tǒng)的處理效率變慢,服務(wù)質(zhì)量變差的問題。
附圖說明
附圖1為本發(fā)明基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法服務(wù)器部署示意圖。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
該基于虛擬化技術(shù)的內(nèi)存自動(dòng)優(yōu)化方法,通過虛擬機(jī)監(jiān)控器實(shí)時(shí)監(jiān)控服務(wù)器整體請(qǐng)求狀況,對(duì)到達(dá)服務(wù)器的請(qǐng)求處理狀況進(jìn)行整體監(jiān)控,同時(shí)對(duì)各個(gè)虛擬服務(wù)器的請(qǐng)求處理狀況進(jìn)行分散監(jiān)控,并記錄其值;并分析各個(gè)虛擬服務(wù)器的請(qǐng)求處理情況占到達(dá)服務(wù)器的總請(qǐng)求量的比值,計(jì)算各個(gè)虛擬服務(wù)器的處理權(quán)值;然后根據(jù)內(nèi)存大小,判斷虛擬服務(wù)器的處理權(quán)值是否達(dá)到閥值θ,啟動(dòng)優(yōu)化內(nèi)存程序,利用虛擬化技術(shù)進(jìn)行閑置資源動(dòng)態(tài)分配,以達(dá)到內(nèi)存優(yōu)化目的。
當(dāng)m臺(tái)物理服務(wù)器上有n臺(tái)虛擬服務(wù)器,其中n≥m,且內(nèi)存大小相同時(shí),啟動(dòng)優(yōu)化內(nèi)存程序的判斷方法如下:
所述閥值θ=(1/m)*120%;
單臺(tái)虛擬服務(wù)器的處理權(quán)值αi=γi/λ,其中γ為到達(dá)服務(wù)器的總請(qǐng)求量,γi為單個(gè)虛擬機(jī)的接受請(qǐng)求量,且γ=∑γi;
當(dāng)αi≥θ時(shí),即可啟動(dòng)優(yōu)化內(nèi)存程序,實(shí)現(xiàn)閑置資源動(dòng)態(tài)分配。
當(dāng)m臺(tái)物理服務(wù)器上有n臺(tái)虛擬服務(wù)器,其中n≥m,且每臺(tái)虛擬服務(wù)器的內(nèi)存小大不一樣時(shí),啟動(dòng)優(yōu)化內(nèi)存程序的判斷方法如下:
每臺(tái)虛擬服務(wù)器內(nèi)存權(quán)值wi=mi/m,其中mi為每臺(tái)虛擬服務(wù)器的內(nèi)存值,m為虛擬服務(wù)器內(nèi)存總和,即m=∑mi;
每臺(tái)虛擬服務(wù)器對(duì)應(yīng)的閥值
每臺(tái)虛擬服務(wù)器的處理權(quán)值其中γ為到達(dá)服務(wù)器的總請(qǐng)求量,γi為單個(gè)虛擬機(jī)的接受請(qǐng)求量,且γ=∑γi;
當(dāng)時(shí),即可啟動(dòng)優(yōu)化內(nèi)存程序,實(shí)現(xiàn)閑置資源動(dòng)態(tài)分配。
當(dāng)按照上述判定虛擬服務(wù)器到達(dá)壓力閥值的算法,判定需要?jiǎng)討B(tài)調(diào)整資源時(shí),可以采用基于缺頁率曲線(miss rate curve)的虛擬機(jī)內(nèi)存實(shí)際需求大小估計(jì)方法,并通過“氣球”機(jī)制來動(dòng)態(tài)調(diào)節(jié)虛擬機(jī)間的內(nèi)存分配;也可使用分布式共享內(nèi)存(DSM)技術(shù),如:TreadMarks、JIAJIA等;亦可使用網(wǎng)絡(luò)內(nèi)存技術(shù),如:Anemone、Nswap等去完成動(dòng)態(tài)調(diào)整。