欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種服務(wù)器資源調(diào)整的方法和裝置與流程

文檔序號:11707448閱讀:466來源:國知局
一種服務(wù)器資源調(diào)整的方法和裝置與流程

本申請涉及服務(wù)器數(shù)據(jù)處理的技術(shù)領(lǐng)域,特別是涉及一種服務(wù)器資源調(diào)整的方法,以及,一種服務(wù)器資源調(diào)整的裝置。



背景技術(shù):

云計算作為一種新型的基于互聯(lián)網(wǎng)的計算方式已被廣泛應(yīng)用在各個領(lǐng)域。通過這種方式,共享的軟硬件資源和信息可以按需提供給計算機和其他設(shè)備。典型的云計算提供商往往提供通用的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用,可以通過瀏覽器等軟件或者其他web服務(wù)來訪問,而軟件和數(shù)據(jù)都存儲在服務(wù)器上。如何控制云計算的服務(wù)質(zhì)量與成本是日漸重視的問題,其中最重要的控制手段在于確定服務(wù)器不同主機的資源配比,即服務(wù)器資源分配的問題。

已有的技術(shù)往往是通過事先進行靜態(tài)配置,然后不同主機按照靜態(tài)配置的內(nèi)容進行資源分配。但是,線上業(yè)務(wù)場景千差萬別,不可能在事先確定一個完美的靜態(tài)配置方案以達到資源的最優(yōu)化配置。由于已有的靜態(tài)配置方案很難實現(xiàn)資源的最優(yōu)化配置,則不可避免容易導致資源的耗費,從而嚴重影響服務(wù)的質(zhì)量和穩(wěn)定性。

已有技術(shù)中,如需要對當前主機的資源分配進行調(diào)整,則通常采用人工調(diào)整的方式。顯然,采用人工調(diào)整配置方案的方式,不能及時響應(yīng)于線上的負載變化來進行調(diào)整;再者,人工調(diào)整的粒度往往是以集群為單位的,若以獨立主機為粒度進行調(diào)整,成本不可接受;尤為重要的是,線上人工操作的風險很大,且由此必將帶來權(quán)限管理方面的問題。



技術(shù)實現(xiàn)要素:

鑒于上述問題,提出了本申請實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種服務(wù)器資源調(diào)整的方法和相應(yīng)的一種服務(wù)器資源調(diào)整的裝置。

為了解決上述問題,本申請公開了一種服務(wù)器資源調(diào)整的方法,所述服務(wù)器包括第一主機和第二主機,所述的方法包括:

按預設(shè)采樣頻率采集所述第一主機的資源使用量信息,以及,所述第二主機的資源使用量信息;

按預設(shè)調(diào)整頻率,依據(jù)所采集的第一主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集第二主機的資源使用量信息計算第二特征值;其中,所述預設(shè)調(diào)整頻率低于預設(shè)采樣頻率;

將所述第一特征值與預設(shè)的第一主機資源使用量閾值進行比對,獲得第一比對結(jié)果,以及,將所述第二特征值與預設(shè)的第二主機資源使用量閾值進行比對獲得第二比對結(jié)果;

依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述第一主機和/或第二主機的資源分配。

可選地,所述按預設(shè)調(diào)整頻率,依據(jù)所采集的第一主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集第二主機的資源使用量信息計算第二特征值的步驟為:

按預設(shè)調(diào)整頻率,計算所采集的第一主機的資源使用量信息的滑動平均值,以及,所采集第二主機的資源使用量信息的滑動平均值。

可選地,所述服務(wù)器為kvm虛擬化下的服務(wù)器,所述第一主機為宿主機,所述第二主機為虛擬機。

可選地,所述宿主機的資源使用量信息包括宿主機進程分組的資源使用數(shù)據(jù),所述虛擬機的資源使用量信息包括虛擬機進程分組的資源使用數(shù)據(jù),其中,所述宿主機進程分組包括為所有虛擬機提供服務(wù)的相關(guān)進程分組;所述虛擬機進程分組為虛擬機本身的進程分組。

可選地,所述按預設(shè)采樣頻率采集所述宿主機的資源使用量信息,以及,所述虛擬機的資源使用量信息的步驟包括:

按預設(shè)采樣頻率從宿主機的指定文件中收集所述宿主機進程分組的資源使用數(shù)據(jù),以及,所述虛擬機進程分組的資源使用數(shù)據(jù),所述指定文件包括宿主機的/proc文件系統(tǒng)中對應(yīng)進程的stat文件。

可選地,所述宿主機資源使用量閾值為宿主機資源使用量的上限閾值,所述虛擬機資源使用量閾值為虛擬機資源使用量的上限閾值;

所述依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述宿主機和/或虛擬機的資源分配的步驟包括:

當所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第一特征參數(shù)比第二特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置增加n/2倍的最小單位資源使用量,以及,針對宿主機進程分組減少n/2的最小單位資源使用量;

或者,

若第二特征參數(shù)比第一特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置減少n/2倍的最小單位資源使用量,以及,針對宿主機進程分組增加n/2倍的最小單位資源使用量;其中,n為正整數(shù),n/2取整。

可選地,所述依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述宿主機和/或虛擬機的資源分配的步驟還包括:

當所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,和/或,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,提取互斥的虛擬機進程分組和宿主機進程分組;

從所述互斥的虛擬機進程分組和宿主機進程分組分配資源。

可選地,所述虛擬機進程分組和宿主機進程分組分別具有優(yōu)先級,所述從所述互斥的虛擬機進程分組和宿主機進程分組分配資源的子步驟進一步包括:

從所述互斥的虛擬機進程分組和宿主機進程分組中,確定可分配的當前優(yōu)先級最低的虛擬機進程分組或宿主機進程分組;

占用所述虛擬機進程分組或宿主機進程分組進行資源分配。

可選地,所述依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述宿主機和/或虛擬機的資源分配的步驟還包括:

發(fā)出預警信號,所述預警信號用于指示上層控制系統(tǒng)依據(jù)進行熱遷移。

可選地,所述依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述宿主機和/或虛擬機的資源分配的步驟還包括:

當所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,暫停虛擬機進程分組的資源分配,保持宿主機進程分組的資源分配。

為了解決上述問題,本申請還公開了一種服務(wù)器資源調(diào)整的裝置,所述服務(wù)器包括第一主機和第二主機,所述的裝置包括:

采集模塊,用于按照預設(shè)采樣頻率采集所述第一主機的資源使用量信息,以及,所述第二主機的資源使用量信息;

計算模塊,用于按預設(shè)調(diào)整頻率,依據(jù)所采集的第一主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集第二主機的資源使用量信息計算第二特征值;其中,所述預設(shè)調(diào)整頻率低于預設(shè)采樣頻率;

比對模塊,用于將所述第一特征值與預設(shè)的第一主機資源使用量閾值進行比對,獲得第一比對結(jié)果,以及,將所述第二特征值與預設(shè)的第二主機資源使用量閾值進行比對獲得第二比對結(jié)果;

調(diào)整模塊,用于依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述第一主機和/或第二主機的資源分配。

可選地,所述服務(wù)器為kvm虛擬化下的服務(wù)器,所述第一主機為宿主機,所述第二主機為虛擬機。

可選地,所述第一主機的資源使用量信息包括宿主機進程分組的資源使用數(shù)據(jù),所述第二主機的資源使用量信息包括虛擬機進程分組的資源使用數(shù)據(jù),其中,所述宿主機進程分組包括為所有虛擬機提供服務(wù)的 相關(guān)進程分組;所述虛擬機進程分組為虛擬機本身的進程分組。

可選地,所述第一特征值為所采集的宿主機的資源使用量信息的滑動平均值,所述第二特征值為所采集虛擬機的資源使用量信息的滑動平均值。

可選地,所述宿主機資源使用量閾值為宿主機資源使用量的上限閾值,所述虛擬機資源使用量閾值為虛擬機資源使用量的上限閾值;

所述調(diào)整模塊包括:

第一調(diào)整子模塊,用于在所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第一特征參數(shù)比第二特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置增加n/2的最小單位資源使用量,以及,針對宿主機進程分組減少n/2的最小單位資源使用量;

或者,

第二調(diào)整子模塊,用于在所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第二特征參數(shù)比第一特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置減少n/2的最小單位資源使用量,以及,針對宿主機進程分組增加n/2的最小單位資源使用量;其中,n為正整數(shù),n/2取整。

可選地,所述調(diào)整模塊還包括:

第三調(diào)整子模塊,用于在所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,和/或,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,提取互斥的虛擬機進程分組和宿主機進程分組;以及,

互斥分組分配子模塊,用于從所述互斥的虛擬機進程分組和宿主機進程分組分配資源。

可選地,所述虛擬機進程分組和宿主機進程分組分別具有優(yōu)先級,所述互斥分組分配子模塊進一步包括:

分組確定單元,用于從所述互斥的虛擬機進程分組和宿主機進程分組中,確定可分配的當前優(yōu)先級最低的虛擬機進程分組或宿主機進程分組;

占用單元,用于占用所述虛擬機進程分組或宿主機進程分組進行資源分配。

可選地,所述調(diào)整模塊還包括:

報警子模塊,用于發(fā)出預警信號;所述預警信號用于指示上層控制系統(tǒng)依據(jù)進行熱遷移。

可選地,所述調(diào)整模塊還包括:

第四調(diào)整子模塊,用于在所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,暫停虛擬機進程分組的資源分配,保持宿主機進程分組的資源分配。

本申請實施例包括以下優(yōu)點:

本申請實施例預先設(shè)定有第一主機資源使用量的閾值和第二主機資源使用量的閾值,在服務(wù)器運行過程中,運行在第一主機上的后臺程序以一定采樣頻率收集第一主機的資源使用數(shù)據(jù)和第二主機的資源使用數(shù)據(jù),再按照預設(shè)的調(diào)整頻率分別計算前面收集的第一主機和第二主機的資源使用數(shù)據(jù)的特征值(比如滑動平均值),然后基于所計算的特征值相應(yīng)動態(tài)調(diào)整服務(wù)器的資源配置,本申請可以完全自適應(yīng)地進行在線資源調(diào)整,可充分適配于各種業(yè)務(wù)場景。

將本申請實施例應(yīng)用到kvm虛擬化技術(shù)中,可以預先設(shè)定宿主機資源使用量的閾值和虛擬機資源使用量的閾值,應(yīng)用本申請實施例,運行在宿主機上的后臺程序以一定采樣頻率收集宿主機關(guān)鍵進程分組的資源使用數(shù)據(jù)和虛擬機進程分組的資源使用數(shù)據(jù),再按照預設(shè)的調(diào)整頻率分 別計算前面收集的宿主機關(guān)鍵進程分組的資源使用數(shù)據(jù)的特征值(比如滑動平均值),以及,虛擬機進程分組的資源使用數(shù)據(jù)的特征值,然后基于所計算的特征值相應(yīng)調(diào)整cgroups設(shè)置,本申請可以完全自適應(yīng)地進行在線資源調(diào)整,充分適配于各種業(yè)務(wù)場景,達到資源的最優(yōu)化配置,毫無人工參與成本與風險。

本申請實施例不以單次采樣的結(jié)果作為決策依據(jù),而是采用過去一段時間的采樣數(shù)據(jù)的特征值,這樣計算得出的數(shù)值帶有歷史信息,不會受到瞬時數(shù)據(jù)毛刺的影響,更能反映真實的資源使用情況,同時不必大量保存采樣數(shù)據(jù)。

本申請實施例針對資源分配策略調(diào)整粒度(cgroups設(shè)置調(diào)整粒度)大大細化,以單個宿主機為粒度,從而可以更及時地優(yōu)化宿主機的資源使用,提升用戶體驗。

本申請實施例不僅能提供更加靈活的資源配置,還可以在不影響用戶體驗的情況下優(yōu)化基礎(chǔ)設(shè)施的使用率,可以更有效率的使用硬件,長期來看可以大大節(jié)約云計算服務(wù)的成本。而且本申請實施例能提供一種資源預警機制,提高服務(wù)的質(zhì)量,保證服務(wù)的穩(wěn)定性。

附圖說明

圖1是本申請的一種服務(wù)器資源調(diào)整的方法實施例1的步驟流程圖;

圖2是本申請的一種服務(wù)器資源調(diào)整的方法實施例2的步驟流程圖;

圖3是本申請的一種服務(wù)器資源調(diào)整的裝置實施例的結(jié)構(gòu)框圖。

具體實施方式

為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進一步詳細的說明。

本申請實施例的核心構(gòu)思之一在于,通過后臺進程在服務(wù)器上收集資源使用量信息并相應(yīng)調(diào)整資源配置,從而自適應(yīng)各種業(yè)務(wù)場景,達到資源的最優(yōu)化配置。

參考圖1,示出了本申請的一種服務(wù)器資源調(diào)整的方法實施例1的步 驟流程圖,其中,所述服務(wù)器可以包括第一主機和第二主機,本方法實施例1具體可以包括如下步驟:

步驟101,按預設(shè)采樣頻率采集所述第一主機的資源使用量信息,以及,所述第二主機的資源使用量信息;

步驟102,按預設(shè)調(diào)整頻率,依據(jù)所采集的第一主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集第二主機的資源使用量信息計算第二特征值;

其中,所述預設(shè)調(diào)整頻率低于預設(shè)采樣頻率。

步驟103,將所述第一特征值與預設(shè)的第一主機資源使用量閾值進行比對,獲得第一比對結(jié)果,以及,將所述第二特征值與預設(shè)的第二主機資源使用量閾值進行比對獲得第二比對結(jié)果;

步驟104,依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述第一主機和/或第二主機的資源分配。

本實施例通過預先設(shè)定第一主機資源使用量的閾值和第二主機資源使用量的閾值,在服務(wù)器運行過程中,運行在第一主機上的后臺程序以一定采樣頻率收集第一主機的資源使用數(shù)據(jù)和第二主機的資源使用數(shù)據(jù),再按照預設(shè)的調(diào)整頻率分別計算前面收集的第一主機和第二主機的資源使用數(shù)據(jù)的特征值,然后基于所計算的特征值相應(yīng)動態(tài)調(diào)整服務(wù)器的資源配置,本申請可以完全自適應(yīng)地進行在線資源調(diào)整,可充分適配于各種業(yè)務(wù)場景。

為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下將本申請實施例應(yīng)用在kvm虛擬技術(shù)中的一種示例進行詳細說明。

kvm是kernel-basedvirtualmachine的簡稱,是一個開源的系統(tǒng)虛擬化模塊,它使用linux自身的調(diào)度器進行管理,kvm的虛擬化需要硬件支持(如intelvt技術(shù)或者amdv技術(shù))。

虛擬化的一個重要優(yōu)勢是能將多個工作負載整合到一個計算機系統(tǒng)中。這樣的整合能夠節(jié)省電力消耗、成本支出和管理費用。節(jié)約的程度 取決于超量使用硬件資源,如內(nèi)存、cpu周期、i/o和網(wǎng)絡(luò)帶寬。但是超量使用必須在確保安全和服務(wù)質(zhì)量的情況下進行,所以有必要將宿主機和虛擬機所占用的資源進行劃分和隔離。

在kvm虛擬化下,一般會采用cgroups對虛擬機和宿主機的資源進行這種隔離,即在kvm虛擬化的宿主機上一般都采用靜態(tài)的cgroups策略對資源進行限制。由于對資源進行隔離必然犧牲了資源共享的靈活性。

在kvm虛擬化架構(gòu)中,虛擬機包括由qemu進程(主線程和vcpu線程)和vhost-net等內(nèi)核線程組合而成的運行實體。在不做限制的前提下,這些線程和宿主機上的線程(包括系統(tǒng)的線程和應(yīng)用程序的線程)會產(chǎn)生競爭關(guān)系,這種競爭往往會影響服務(wù)質(zhì)量,甚至在極端情況下導致某些關(guān)鍵服務(wù)進程被殺死或?qū)е滤拗鳈C崩潰。

在這種情況下,如果盲目提高宿主機進程的優(yōu)先級,會出現(xiàn)嚴重降低虛擬機qos(qualityofservice,服務(wù)質(zhì)量)的情況。為解決上述問題,需要在優(yōu)先保證宿主機上的關(guān)鍵進程有足夠的保證其安全運行資源(cpu資源、memory資源等)的同時,為虛擬機提供盡可能高的qos,因此可以考慮對服務(wù)器上的資源做一定比例的隔離。cgroups是一種常用的對計算機資源進行隔離的手段。而隔離的比例,即cgroups的策略,可以采用經(jīng)驗值,或者采用根據(jù)在一定負載模型下的測試數(shù)據(jù)得出的參考值。

kvm虛擬化的宿主機上一般都采用靜態(tài)的cgroups策略對資源進行限制。但是不同的用戶的應(yīng)用類型(負載模型)不同,導致對不同資源的使用量需求差別很大。與此同時,實際中也不可能針對集群中的所有宿主機一一調(diào)整策略,靜態(tài)策略調(diào)整依據(jù)都是一段時間整個集群機器的平均數(shù)值。這樣的整體調(diào)整粒度太粗,無法應(yīng)對宿主機自身的負載特點。

如果事先確定一些常用的資源分配策略,下發(fā)到不同的宿主機分組上,線上再對虛擬機的資源使用類型進行判斷,并使用熱遷移技術(shù)將其遷移到不同的宿主機分組里。這樣也可以動態(tài)地保證服務(wù)質(zhì)量,但是并不能最大化的優(yōu)化資源利用率,而且目前熱遷移技術(shù)限制較大,無法完美的商用化。而且,其中最大的問題是,熱遷移過程會不可避免的帶來 一定時間的服務(wù)暫停。而且事先所定的資源分配策略也往往會比較粗糙,沒有在線動態(tài)調(diào)整更加能適應(yīng)線上瞬息萬變的負載變化情況。再者,這些不同的資源分組本身的規(guī)模也是難以確定的,很有可能造成新的資源分配不均衡。

因此,若采用上述技術(shù)在kvm虛擬化下對服務(wù)器資源進行調(diào)整仍不可避免存在至少如下問題:

第一,不能實時響應(yīng),往往可能發(fā)生資源爭搶,并且這種資源爭搶會影響用戶體驗很久之后,才會被發(fā)現(xiàn),從而才能做出新的調(diào)整;

第二,調(diào)整粒度太粗糙,無法針對單個宿主機的負載特點做出有針對性的決策,容易造成資源的浪費和用戶體驗的下降;

第三,調(diào)整需要人工進行,費時費力,有操作風險,帶來額外的權(quán)限管理成本。

針對以上問題,本申請實施例提出另一核心構(gòu)思之一在于,通過后臺進程在服務(wù)器上收集資源使用量信息并相應(yīng)調(diào)整cgroups設(shè)置,從而自適應(yīng)各種業(yè)務(wù)場景,達到資源的最優(yōu)化配置。

參照圖2,示出了本申請的一種服務(wù)器資源調(diào)整的方法實施例2的步驟流程圖,其中,所述服務(wù)器可以包括宿主機和虛擬機,本申請實施例具體可以包括如下步驟:

步驟201,按預設(shè)采樣頻率采集所述宿主機的資源使用量信息,以及,所述虛擬機的資源使用量信息;

在具體實現(xiàn)中,可以按預設(shè)頻率f(比如5s一次)收集宿主機上的資源使用量信息采集所述宿主機的資源使用量信息,以及,所述虛擬機的資源使用量信息。

本申請實施例主要基于cgroups技術(shù)對服務(wù)器動態(tài)分配資源。kvm虛擬機是一種將linux內(nèi)核當成hypervisor的虛擬化技術(shù),一個kvm虛擬機作為一個進程運行在linux內(nèi)核上。由于kvm虛擬機是linux的一個進程,因此可以采用cgroups機制來進行資源管理,控制每個kvm虛 擬機可以使用的物理資源,報告cpu占用率,cpu核心,內(nèi)存等。cgroups,其名稱源自控制分組(controlgroups)的簡寫,是linux內(nèi)核的一個功能,用來限制,控制與分離一個進程分組的資源(如cpu、內(nèi)存、磁盤輸入輸出等)??梢岳斫猓琧ontrolgroup就是一組按照某種標準劃分的進程。cgroups中的資源控制都是以控制分組為單位實現(xiàn)。一個進程可以加入到某個控制分組,也從一個進程分組遷移到另一個控制分組。一個進程分組中的進程可以使用cgroups以控制分組為單位分配的資源,同時受到cgroups以控制分組為單位設(shè)定的限制。

作為本申請實施例具體應(yīng)用的一種示例,可以在宿主機上使用cgroups為虛擬機進程和宿主機進程分別進行分組,在這種情況下,所述宿主機的資源使用量信息可以包括宿主機進程分組的資源使用數(shù)據(jù),所述虛擬機的資源使用量信息可以包括虛擬機進程分組的資源使用數(shù)據(jù),其中,所述宿主機進程分組可以包括為所有虛擬機提供服務(wù)的相關(guān)進程分組;所述虛擬機進程分組可以為虛擬機本身的進程分組。

在實際中,所述宿主機進程主要包括宿主機的系統(tǒng)關(guān)鍵進程和對所有虛擬機提供服務(wù)的相關(guān)進程,所述虛擬機進程主要包括虛擬機本身的進程。

更具體而言,應(yīng)用本實施例可以按預設(shè)采樣頻率從宿主機的指定文件中收集所述宿主機進程分組的資源使用數(shù)據(jù),以及,所述虛擬機進程分組的資源使用數(shù)據(jù)。例如,所述指定文件可以為宿主機的/proc文件系統(tǒng)中對應(yīng)進程的stat文件。

當然,本領(lǐng)域技術(shù)人員采用任一種方式采集所述宿主機和虛擬機的資源使用量信息都是可行的,本申請對此不作限制。

步驟202,按預設(shè)調(diào)整頻率,依據(jù)所采集的宿主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集虛擬機的資源使用量信息計算第二特征值;

需要說明的是,用來計算第一特征值和第二特征值的調(diào)整頻率,高于步驟201中采集資源使用量信息的采樣頻率。例如,以5s一次的頻率 采集所述宿主機和虛擬機的資源使用量信息;再按預設(shè)調(diào)整頻率t(比如2h,兩個小時)計算前面采集的資源使用量信息的特征值(包括第一特征值和第二特征值),比如,在10:00計算8:00——10:00所采集資源使用量信息的特征值,在12:00計算10:00——12:00所采集資源使用量信息的特征值。

作為本申請實施例具體應(yīng)用的一種示例,所述采用滑動平均值作為特征值。即應(yīng)用本申請實施例,可以按預設(shè)調(diào)整頻率,計算所采集的宿主機的資源使用量信息的滑動平均值,以及,所采集虛擬機的資源使用量信息的滑動平均值。

公知的是,滑動平均值是從一個有n項的時間序列中來計算多個連續(xù)m項序列的平均值。其中第一個連續(xù)m項序列的第一項,是原來n序列的第一項至m項和除以m;第二個連續(xù)m項序列的第二項是原來n序列的第二項至第m+1項和除以m;……;最后一個m項序列的第一項是n序列的第(n-m+1)項?;瑒悠骄狄蝽棓?shù)m的不同而有不同的名稱。例如,m為1、2、3,其滑動平均值分別為1h滑動平均值、2h滑動平均值和3h滑動平均值。

在本申請實施例中,不以單次采樣的結(jié)果作為決策依據(jù),而是采用過去一段時間的采樣數(shù)據(jù)的特征值,這樣計算得出的數(shù)值帶有歷史信息,不會受到瞬時數(shù)據(jù)毛刺的影響,更能反映真實的資源使用情況,同時不必大量保存采樣數(shù)據(jù)。

當然,以上采用滑動平均值作為特征值的方案僅僅用作示例,本領(lǐng)域技術(shù)人員依據(jù)實際情況采用任一種特征值均是可行的,比如采用在先多個時間區(qū)域的加權(quán)滑動平均值,或增加阻尼系數(shù)進行計算都是可行的,本申請對此無需加以限制。

步驟203,將所述第一特征值與預設(shè)的宿主機資源使用量閾值進行比對,獲得第一比對結(jié)果,以及,將所述第二特征值與預設(shè)的虛擬機資源使用量閾值進行比對獲得第二比對結(jié)果;

可以理解,所述第一比對結(jié)果包括如下三種情形:

所述第一特征值大于所述宿主機資源使用量閾值;

所述第一特征值等于所述宿主機資源使用量閾值;

所述第一特征值小于所述宿主機資源使用量閾值。

所述第二比對結(jié)果包括如下三種情形:

所述第二特征值大于所述虛擬機資源使用量閾值;

所述第二特征值等于所述虛擬機資源使用量閾值;

所述第二特征值小于所述虛擬機資源使用量閾值。

作為本申請實施例具體應(yīng)用的一種示例,所述宿主機資源使用量閾值可以為宿主機資源使用量的上限閾值,所述虛擬機資源使用量閾值可以為虛擬機資源使用量的上限閾值,即分別設(shè)置有兩條保證系統(tǒng)安全的資源使用量的警戒線。在實際中,可以控制宿主機的資源使用率盡可能遠離宿主機資源使用量的上限閾值,以及,控制虛擬機的資源使用率盡可能遠離虛擬機資源使用量的上限閾值。以保證兩者都在警戒線之下,并合理均分資源。

步驟204,依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述宿主機和/或虛擬機的資源分配。

在本申請的一種優(yōu)選實施例中,所述步驟204可以包括如下子步驟:

當所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第一特征參數(shù)比第二特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置增加n/2的最小單位資源使用量,以及,針對宿主機進程分組減少n/2的最小單位資源使用量;

或者,

若第二特征參數(shù)比第一特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置減少n/2的最小單位資源使用量,以及,針對宿主機進程分組增加n/2的最小單位資源使用量;其中,n為正整數(shù),n/2取整。

以cpu利用率為例,應(yīng)用本申請實施例,預先設(shè)定有宿主機資源使用量的上限閾值和虛擬機資源使用量的上限閾值。在實際中,本申請實施例可以作為后臺程序運行在宿主機上。后臺程序以一定頻率f(比如5s一次)收集收集宿主機關(guān)鍵進程分組的資源使用數(shù)據(jù)和虛擬機進程分組的資源使用數(shù)據(jù),每隔一段時間t(比如兩個小時)分別計算前面收集的宿主機關(guān)鍵進程分組的資源使用數(shù)據(jù)的滑動平均值(以下簡稱宿主機的滑動平均值),以及,虛擬機進程分組的資源使用數(shù)據(jù)的滑動平均值(以下簡稱虛擬機的滑動平均值)。

在宿主機的滑動平均值小于所述宿主機資源使用量的上限閾值,并且,虛擬機的滑動平均值也小于虛擬機資源使用量的上限閾值的情況下,如果宿主機的滑動平均值(即宿主機進程分組的cpu利用率(采樣數(shù)據(jù))的指數(shù)阻尼滑動平均值)比虛擬機的滑動平均值(即虛擬機進程分組的cpu利用率(采樣數(shù)據(jù))的指數(shù)阻尼滑動平均值)少n倍最小單位資源使用量(在本實施例中指的是不可分割的資源最小調(diào)整單位,比如cpu的一個processor),那么可以調(diào)整新的cgroups限制策略為,將相應(yīng)的宿主機進程分組的cpuset減少n/2的最小單位資源使用量,而同時將虛擬機進程分組的cpuset增加n/2的最小單位資源使用量。

在具體實現(xiàn)中,可以通過調(diào)用cgroups的文件系統(tǒng)接口來動態(tài)更新新的策略。

在本申請的另一種優(yōu)選實施例中,所述步驟204還可以包括如下子步驟:

當所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,和/或,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,提取互斥的虛擬機進程分組和宿主機進程分組;

從所述互斥的虛擬機進程分組和宿主機進程分組分配資源。

更為優(yōu)選的是,在這種情況下,所述步驟204還可以包括:

發(fā)出預警信號,所述預警信號用于指示上層控制系統(tǒng)依據(jù)進行熱遷 移。

在本申請的又一種優(yōu)選實施例中,所述步驟204還可以包括如下子步驟:

當所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,暫停虛擬機進程分組的資源分配,保持宿主機進程分組的資源分配。

應(yīng)用本申請實施例,如果發(fā)現(xiàn)有任一進程分組(宿主機進程分組或虛擬機進程分組)超過其預設(shè)的上限閾值,立即啟動應(yīng)急模式,在應(yīng)急模式下,會強制從互斥的進程分組(比如資源不共享的虛擬機進程分組或宿主機進程分組)分配資源。

更具體而言,可以針對所述虛擬機進程分組和宿主機進程分組分別設(shè)置優(yōu)先級,則可以通過如下方式從所述互斥的虛擬機進程分組和宿主機進程分組分配資源:

從所述互斥的虛擬機進程分組和宿主機進程分組中,確定可分配的當前優(yōu)先級最低的虛擬機進程分組或宿主機進程分組;

占用所述虛擬機進程分組或宿主機進程分組進行資源分配。

例如,宿主機進程分組超過預設(shè)上限閾值,于是強制從當前可用于分配的優(yōu)先級最低的虛擬機進程分組獲取資源,即使當前虛擬機進程分組已經(jīng)超過上限。因為在這種情況下,必然會有一個分組要超出預設(shè)上限閾值,只能犧牲優(yōu)先級低一些的分組。

在實際中,還可以進一步發(fā)出預警信號,用以通知上層控制系統(tǒng)啟動熱遷移等策略。

在極端情況下,如果發(fā)現(xiàn)宿主機進程分組和虛擬機進程分組,都超過其預設(shè)的上限閾值時,則可以暫停虛擬機進程分組的資源分配,以優(yōu)先保證宿主機進程分組的資源使用。

需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為 一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請實施例并不受所描述的動作順序的限制,因為依據(jù)本申請實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本申請實施例所必須的。

參照圖3,示出了本申請的一種服務(wù)器資源調(diào)整的裝置實施例的結(jié)構(gòu)框圖,其中,所述服務(wù)器可以包括第一主機和第二主機(圖中未示出),所述裝置實施例具體可以包括以下模塊:

采集模塊301,用于按預設(shè)采樣頻率采集所述第一主機的資源使用量信息,以及,所述虛擬機的資源使用量信息;

計算模塊302,用于按預設(shè)調(diào)整頻率,依據(jù)所采集的第一主機的資源使用量信息計算第一特征值,以及,依據(jù)所采集第二主機的資源使用量信息計算第二特征值;

其中,所述預設(shè)調(diào)整頻率低于預設(shè)采樣頻率;

比對模塊303,用于將所述第一特征值與預設(shè)的第一主機資源使用量閾值進行比對,獲得第一比對結(jié)果,以及,將所述第二特征值與預設(shè)的第二主機資源使用量閾值進行比對獲得第二比對結(jié)果;

調(diào)整模塊304,用于依據(jù)第一比對結(jié)果和/或第二比對結(jié)果,調(diào)整所述第一主機和/或第二主機的資源分配。

作為本申請實施例具體應(yīng)用的一種示例,所述服務(wù)器可以為kvm虛擬化下的服務(wù)器,所述第一主機可以為宿主機,所述第二主機可以為虛擬機。

在本申請的一種優(yōu)選實施例中,所述第一主機的資源使用量信息可以包括宿主機進程分組的資源使用數(shù)據(jù),所述第二主機的資源使用量信息可以包括虛擬機進程分組的資源使用數(shù)據(jù),其中,所述宿主機進程分組可以包括為所有虛擬機提供服務(wù)的相關(guān)進程分組;所述虛擬機進程分組為虛擬機本身的進程分組。

作為本申請實施例具體應(yīng)用的一種示例,所述第一特征值可以為所采集的宿主機的資源使用量信息的滑動平均值,所述第二特征值可以為所采集虛擬機的資源使用量信息的滑動平均值。

在本申請的一種優(yōu)選實施例中,所述宿主機資源使用量閾值可以為宿主機資源使用量的上限閾值,所述虛擬機資源使用量閾值可以為虛擬機資源使用量的上限閾值;在這種情況下,所述調(diào)整模塊304可以包括如下子模塊:

第一調(diào)整子模塊3041,用于在所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第一特征參數(shù)比第二特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置增加n/2的最小單位資源使用量,以及,針對宿主機進程分組減少n/2的最小單位資源使用量;

或者,

第二調(diào)整子模塊3042,用于在所述第一比對結(jié)果為,所述第一特征值小于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值小于所述虛擬機資源使用量的上限閾值時,

若第二特征參數(shù)比第一特征參數(shù)少n倍最小單位資源使用量,則針對虛擬機進程分組設(shè)置減少n/2的最小單位資源使用量,以及,針對宿主機進程分組增加n/2的最小單位資源使用量;其中,n為正整數(shù),n/2取整。

作為本申請的另一種優(yōu)選實施例,所述調(diào)整模塊304還可以包括如下子模塊:

第三調(diào)整子模塊3043,用于在所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,和/或,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,提取互斥的虛擬機進程分組和宿主機進程分組;

互斥分組分配子模塊3044,用于從所述互斥的虛擬機進程分組和宿 主機進程分組分配資源。

作為本申請實施例具體應(yīng)用的一種示例,所述虛擬機進程分組和宿主機進程分組分別具有優(yōu)先級,在這種情況下,所述互斥分組分配子模塊3044可以進一步包括如下單元:

分組確定單元441,用于從所述互斥的虛擬機進程分組和宿主機進程分組中,確定可分配的當前優(yōu)先級最低的虛擬機進程分組或宿主機進程分組;

占用單元442,用于占用所述虛擬機進程分組或宿主機進程分組進行資源分配。

更為優(yōu)選的是,所述調(diào)整模塊304還可以包括如下子模塊:

報警子模塊3045,用于發(fā)出預警信號;所述預警信號用于指示上層控制系統(tǒng)依據(jù)進行熱遷移。

作為本申請的又一種優(yōu)選實施例,所述調(diào)整模塊304還可以包括如下子模塊:

第四調(diào)整子模塊3046,用于在所述第一比對結(jié)果為,所述第一特征值大于或等于所述宿主機資源使用量的上限閾值,并且,所述第二比對結(jié)果為,所述第二特征值大于或等于所述虛擬機資源使用量的上限閾值時,暫停虛擬機進程分組的資源分配,保持宿主機進程分組的資源分配。

對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本申請實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機 可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

在一個典型的配置中,所述計算機設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

本申請實施例是參照根據(jù)本申請實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在 流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本申請實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請實施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。

以上對本申請所提供的一種服務(wù)器資源調(diào)整的方法,以及,一種服務(wù)器資源調(diào)整的裝置進行了詳細介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
讷河市| 赣州市| 阿瓦提县| 连云港市| 广丰县| 东乡族自治县| 黎城县| 江陵县| 建水县| 吴桥县| 温州市| 滁州市| 海盐县| 广汉市| 赣州市| 固始县| 日喀则市| 宜城市| 靖远县| 彭水| 东乡县| 海宁市| 枣庄市| 大竹县| 班玛县| 江安县| 隆安县| 渑池县| 江西省| 琼海市| 菏泽市| 焉耆| 乐平市| 涿鹿县| 海林市| 会宁县| 博乐市| 渭南市| 大埔县| 邹平县| 龙游县|