本發(fā)明涉及通信技術領域,具體涉及一種壓力測試方法、裝置和系統(tǒng)。
背景技術:
隨著通信技術的發(fā)展,網絡服務的種類也越來越為繁多,為了可以為用戶提供更好的網絡服務,需要對相應設備的性能,比如中央處理器(cpu,centralprocessingunit)、內存、磁盤、服務器每秒查詢率(qps,querypersecond)、以及請求延時等進行測試,其中,該測試稱為壓力測試,簡稱壓測。
現有技術的壓力測試方案,一般需要針對具體服務人為搭建壓力測試環(huán)境,然后,基于該服務的協議編寫壓力測試工具,并在該搭建的壓力測試環(huán)境下,通過該壓力測試工具不斷向該服務對應的設備發(fā)送請求,直至該設備出現性能瓶頸,從而獲得測試結果。
在對現有技術的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現,由于現有方案需要針對不同的服務搭建不同的測試環(huán)境、開發(fā)不同的測試工具、以及在測試過程中需要人工進行干預,因此,不僅實現較為復雜,而且適用性也較差;另外,由于測試環(huán)境為非生產環(huán)境,所以,測試結果也不夠全面和準確。
技術實現要素:
本發(fā)明實施例提供一種壓力測試方法、裝置和系統(tǒng),測試過程無需人工干預,不僅實現簡便,具有較高適用性,而且,還可以大大提高測試的全面性和準確性。
本發(fā)明實施例提供一種壓力測試方法,包括:
獲取壓測任務;
根據所述壓測任務確定當前需要進行壓力測試的對象,得到目標對象;
在預設時長內將現網流量導向所述目標對象,并采集所述目標對象的各項性能指標;
在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果;
返回執(zhí)行獲取壓測任務的步驟,直至壓測任務均測試完畢。
本發(fā)明實施例還提供一種壓力測試裝置,包括:
獲取單元,用于獲取壓測任務;
確定單元,用于根據所述壓測任務確定當前需要進行壓力測試的對象,得到目標對象;
處理單元,用于在預設時長內將現網流量導向所述目標對象,并采集所述目標對象的各項性能指標;
統(tǒng)計單元,用于在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,并觸發(fā)確定單元執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢。
此外,本發(fā)明實施例還提供一種壓力測試系統(tǒng),包括本發(fā)明實施例所提供的任一種壓力測試裝置。
本發(fā)明實施例可以獲取壓測任務,根據壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,然后,返回執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢,從而實現對壓測任務中各個對象進行自動壓測的目的;由于該方案對所有服務都通用,且測試過程無需人工干預,因此,不僅實現簡便,而且適用性也較高;另外,由于該方案使用了真實的現網流量進行壓測,所以,相對于現有方案而言,也可以大大提高測試的全面性和準確性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1a是本發(fā)明實施例提供的壓力測試方法的場景示意圖;
圖1b是本發(fā)明實施例提供的壓力測試方法的流程圖;
圖2是本發(fā)明實施例提供的壓力測試方法的另一流程圖;
圖3a是本發(fā)明實施例提供的壓力測試裝置的結構示意圖;
圖3b是本發(fā)明實施例提供的壓力測試裝置的另一結構示意圖;
圖4是本發(fā)明實施例提供的調度服務器的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供一種壓力測試方法、裝置和系統(tǒng)。
其中,該壓力測試系統(tǒng)可以包括本發(fā)明實施例所提供的任一種壓力測試裝置,該壓力測試裝置具體可以集成在服務器,如調度服務器等設備中。可選的,該壓力測試系統(tǒng)還可以包括其他的設備,比如可以包括應用服務器或業(yè)務服務器等設備,主要用于接受調度服務器壓測。
例如,參見圖1a,以該壓力測試裝置具體集成在調度服務器為例,該調度服務器可以獲取壓測任務,根據該壓測任務確定當前需要進行壓力測試的對象,比如應用服務器a,然后,在預設時長內將現網流量導向該對象如應用服務器a,并采集應用服務器a的各項性能指標,比如,可以向應用服務器a發(fā)送關于獲取各項在性能指標的請求,并接收應用服務器a返回的各項性能指標,等等,然后,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,可選的,還可以根據將該壓測結果與歷史壓測結果進行比對,以及生成壓測報告,以發(fā)送給預設的聯系人。在對應用服務器a進行壓測完畢之后,該調度服務器還可以獲取下一個壓測任務,繼續(xù)對其他的設備,比如對業(yè)務服務器b以同樣的流程進行壓測,直至壓測任務均壓測完畢。
以下分別進行詳細說明。需說明的是,以下實施例的序號不作為對實施例優(yōu)選順序的限定。
實施例一、
本實施例將從壓力測試裝置的角度進行描述,該壓力測試裝置具體可以集成在服務器,比如調度服務器等設備中。
一種壓力測試方法,包括:獲取壓測任務,根據該壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,返回執(zhí)行獲取壓測任務的步驟,直至壓測任務均測試完畢。
如圖1b所示,該壓力測試方法的具體流程可以如下:
101、獲取壓測任務。
例如,具體可以從本地存儲空間或其他設備中讀取該壓測任務。
其中,該壓測任務可以根據實際應用的需求進行預設,具體可以指示至少一個壓測服務對象集合,以及指示每一個壓測服務對象集合對應的壓測內容(即壓力測試的內容)。
其中,每個壓測服務對象集合中可以包括多個對象的標識,比如設備的名稱、和/或網際協議(ip,internetprotocol)地址等。而壓測內容則可以包括cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等。
102、根據該壓測任務確定當前需要進行壓測的對象,得到目標對象;例如,具體可以如下:
根據該壓測任務獲取壓測服務對象集合,從該壓測服務對象集合中確定當前需要進行壓測的對象,得到目標對象。
比如,以該需要進行壓測的對象的標識為ip地址為例,則此時,根據該壓測任務獲取需要進行壓測的設備的ip列表,從該ip列表中選擇一個ip地址作為目標對象。
需說明的是,由于同一壓測服務對象集合中的對象(比如同一ip列表中的設備)的性能都類似,因此,只要能夠獲知其中一個對象的性能,便可得到該壓測服務對象集合其他對象的性能,所以,對于每一個壓測服務對象集合,只需從中選取一個對象進行壓測即可。
103、在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標。
例如,具體可以采集該目標對象的cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等性能指標。
其中,該預設時長可以根據實際應用的需求進行設置,比如,可以設置為1個鐘頭,或兩個鐘頭,等等。
可選的,將現網流量導向該目標對象的方式可以有多種,比如,可以通過增加該目標對象的流量權重來實現,等等,即步驟“在預設時長內將現網流量導向該目標對象”可以包括:
在預設時長內增加該目標對象的流量權重,以將現網流量導向該目標對象,具體可以如下:
利用負載均衡技術增加該目標對象的流量權重,以將現網流量導向該目標對象,并統(tǒng)計壓測時長,在壓測時長超過預設時長時,恢復該目標對象的流量權重。
其中,統(tǒng)計壓測時長的方式可以有多種,比如,可以利用定時器或計時器來統(tǒng)計該壓測時長等等。
需說明的是,本發(fā)明實施例的“現網流量”指的是現有網絡中真實用戶的流量,包括上行數據流量和下行數據流量,其中,上行數據流量可以包括用戶的請求等數據所產生的流量,下行數據流量可以包括向用戶發(fā)送數據等行為所產生的流量,在此不再贅述。
104、在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果。例如,具體可以如下:
在cpu使用率達到預設瓶頸值時,根據壓測算法生成關于中央處理器使用率的壓測結果;和/或,
在內存使用率達到預設瓶頸值時,根據壓測算法生成關于內存使用率的壓測結果;和/或,
在磁盤使用率達到預設瓶頸值時,根據壓測算法生成關于磁盤使用率的壓測結果;和/或,
在設備每秒查詢率達到預設瓶頸值時,根據壓測算法生成關于設備每秒查詢率的壓測結果;和/或,
在請求延時達到預設瓶頸值時,根據壓測算法生成關于請求延時的壓測結果,等等。
其中,壓測算法可以根據實際應用的需求而定,在此不再贅述。
在得到該目標對象的壓測結果之后,可以采用同樣的方式對其他壓測任務中需要進行壓測的對象進行壓測,即可以返回執(zhí)行獲取壓測任務的步驟(即返回執(zhí)行步驟101),直至壓測任務中均測試完畢。
需說明的是,若在該預設時長內,若某項或某幾項性能指標未能達到瓶頸值,則可以直接統(tǒng)計對其相應的壓測結果進行統(tǒng)計,即可選的,在步驟“在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標”之后,該壓力測試方法還可以包括:
在壓測時長超過預設時長時,執(zhí)行統(tǒng)計壓測結果的步驟。
此外,為了便于用戶更好地了解該設備的性能,在得到當前的壓測結果之后,還可以將該壓測結果與歷史壓測結果,比如上一次壓測結果進行比較,即可選的,在步驟“統(tǒng)計壓測結果”之后,該壓力測試方法還可以包括:
獲取歷史壓測結果,將壓測結果與歷史壓測結果進行比對,得到比對結果。
其中,該歷史壓測結果指的是過去預設時間范圍內進行壓力測試所得到的壓測結果。該預設時間范圍可以根據實際應用的需求而定,比如,可以設置該歷史壓測結果為上一次壓測的壓測結果,或者,設置該歷史壓測結果為前幾次壓測結果的均值,等等,在此不再贅述。
可選的,為了便于維護人員及時獲取中該壓測結果,在統(tǒng)計壓測結果之后,除了可以保存該壓測結果之外,還可以根據該壓測結果生成壓測報告,并將該壓測報告發(fā)送給預設聯系人,比如通過即時通訊信息、或郵件的方式發(fā)送給預設聯系人,等等。
可選的,在該壓測報告中,還可以包括其他的信息,比如該壓測結果與歷史壓測結果的比對結果,和/或設備性能的修復或改善建議,等等,在此不再贅述。
由上可知,本實施例可以獲取壓測任務,根據壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,然后,返回執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢,從而實現對壓測任務中各個對象進行自動壓測的目的;由于該方案對所有服務都通用,且測試過程無需人工干預,因此,不僅實現簡便,而且適用性也較高;另外,由于該方案使用了真實的現網流量進行壓測,所以,相對于現有方案而言,也可以大大提高測試的全面性和準確性。
實施例二、
根據實施例一所描述的方法,以下將舉例作進一步詳細說明。
在本實施例中,將以該壓力測試裝置具體集成在調度服務器中,且壓測服務對象集合具體為ip列表為例進行說明。
如圖2所示,一種壓力測試方法,具體流程可以如下:
201、調度服務器獲取壓測任務。
例如,調度服務器具體可以從本地存儲空間或其他設備中讀取該壓測任務。
其中,該壓測任務可以根據實際應用的需求進行預設,具體可以指示至少一個壓測服務對象集合,以及指示每一個壓測服務對象集合對應的壓測內容。
其中,每個壓測服務對象集合中可以包括多個對象的標識,比如設備的名稱、和/或ip地址等。而壓測內容則可以包括cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等。
202、調度服務器根據該壓測任務獲取ip列表,從該ip列表中選擇一個ip地址作為目標對象。
例如,若該ip列表中包括應用服務器a的ip地址、應用服務器b的ip地址、以及應用服務器c的ip地址等,則此時,具體可以按照預設的選擇策略,比如,按ip列表從上到下的順序選擇一個ip地址,如應用服務器a的ip地址作為目標對象,等等。
其中,該選擇策略可以根據實際應用的需求進行設置,在此不再贅述。
203、調度服務器利用負載均衡技術增加該目標對象的流量權重,以將現網流量導向該目標對象,并統(tǒng)計壓測時長。
例如,若在步驟203中,選擇了應用服務器a的ip地址作為目標對象,則此時,調度服務器可以利用負載均衡技術,增加該ip地址(即應用服務器a的ip地址)的流量權重,使得現網中的用戶流量傾向于應用服務器a。
又例如,若在在步驟203中,選擇了應用服務器b的ip地址作為目標對象,則此時,調度服務器可以利用負載均衡技術,增加應用服務器b的ip地址的流量權重,使得現網中的用戶流量傾向于應用服務器b,以此類推,等等。
其中,增加流量權重的幅度可以根據實際應用的需求而定,比如,可以采用在預設時長內遞增的形式,或者,也可以采用每隔一段時間,按照預設幅度增加一次(如一次增加0.1或0.2等),等等,在此不再贅述。
需說明的是,本發(fā)明實施例的“現網流量”指的是現有網絡中真實用戶的流量,包括上行數據流量和下行數據流量,其中,上行數據流量可以包括用戶的請求等數據所產生的流量,下行數據流量可以包括向用戶發(fā)送數據等行為所產生的流量,在此不再贅述。
此外,還需說明的是,統(tǒng)計壓測時長的方式可以有多種,比如,可以利用定時器或計時器來統(tǒng)計該壓測時長等等,在此不再贅述。
204、調度服務器采集該目標對象的各項性能指標。
例如,調度服務器可以向該目標對象發(fā)送關于獲取各項性能指標的請求,并接收該目標對象根據該請求返回的各項性能指標,比如cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等。
205、調度服務器確定性能指標是否達到預設瓶頸值,若是,則執(zhí)行步驟207,若否,則執(zhí)行步驟206。
例如,以cpu使用率為例,在調度服務器獲取到cpu使用率之后,可以判斷該cpu使用率是否達到預設的cpu使用率的瓶頸值,若已達到,則執(zhí)行步驟207,即對該cpu使用率對應的壓測結果進行統(tǒng)計,否則,若未達到,則執(zhí)行步驟206。
又例如,以內存使用率為例,在調度服務器獲取到內存使用率之后,可以判斷該內存使用率是否達到預設的內存使用率的瓶頸值,若已達到,則執(zhí)行步驟207,即對該內存使用率對應的壓測結果進行統(tǒng)計,否則,若未達到,則執(zhí)行步驟206,等等。
同理,其他性能指標與此類似,在此不再贅述。
206、調度服務器確定壓測時長是否大于預設時長,若是,則執(zhí)行步驟207;若否,則返回執(zhí)行步驟203。
其中,該預設時長可以根據實際應用的需求進行設置,比如,可以設置為1個小時,或兩個小時,等等。
例如,以預設時長為兩個小時為例,調度服務器可以確定當前的壓測時長是否超過兩個小時,若已超過,則表明壓測完成,因此,可以執(zhí)行步驟207,而若未超過,則表明壓測尚未完成,需要繼續(xù)進行壓測,所以,此時可以繼續(xù)增加該目標對象的流量權重,即回執(zhí)行步驟203。
207、調度服務器統(tǒng)計壓測結果,并保存該壓測結果。例如,具體可以如下:
在cpu使用率達到預設瓶頸值或壓測時長大于預設時長時,根據壓測算法生成關于中央處理器使用率的壓測結果;和/或,
在內存使用率達到預設瓶頸值或壓測時長大于預設時長時,根據壓測算法生成關于內存使用率的壓測結果;和/或,
在磁盤使用率達到預設瓶頸值或壓測時長大于預設時長時,根據壓測算法生成關于磁盤使用率的壓測結果;和/或,
在設備每秒查詢率達到預設瓶頸值或壓測時長大于預設時長時,根據壓測算法生成關于設備每秒查詢率的壓測結果;和/或,
在請求延時達到預設瓶頸值或壓測時長大于預設時長時,根據壓測算法生成關于請求延時的壓測結果,等等。
其中,壓測算法可以根據實際應用的需求而定,在此不再贅述。
可選的,為了便于用戶更好地了解該設備的性能,在得到當前的壓測結果之后,還可以將該壓測結果與歷史壓測結果,比如上一次壓測結果進行比較,即在步驟“統(tǒng)計壓測結果”之后,還可以執(zhí)行步驟208,如下:
208、調度服務器獲取歷史壓測結果,將壓測結果與歷史壓測結果進行比對,得到比對結果。
其中,該歷史壓測結果指的是過去預設時間范圍內進行壓力測試所得到的壓測結果。該預設時間范圍可以根據實際應用的需求而定,比如,可以設置該歷史壓測結果為上一次壓測的壓測結果,或者,設置該歷史壓測結果為前幾次壓測結果的均值,等等,在此不再贅述。
可選的,為了便于維護人員及時獲取中該壓測結果,在統(tǒng)計壓測結果之后,還可以根據該壓測結果生成壓測報告,并發(fā)送給預設聯系人,即該壓力測試方法還可以包括步驟209,如下:
209、調度服務器根據該壓測結果生成壓測報告,將該壓測報告發(fā)送給預設聯系人。
比如,具體可以通過即時通訊信息、或郵件的方式,將該壓測報告發(fā)送給預設聯系人,等等。
可選的,在該壓測報告中,還可以包括其他的信息,比如該壓測結果與歷史壓測結果的比對結果,和/或設備性能的修復或改善建議,等等,在此不再贅述。
210、調度服務器恢復該目標對象的流量權重,并返回執(zhí)行步驟201,即返回執(zhí)行獲取壓測任務的步驟,直至所有壓測任務均測試完畢。
例如,若在步驟202中,選擇了應用服務器a的ip地址作為目標對象,且在步驟203中,將該ip地址對應的流量權重從原有的0.1增加至0.5,則此時,可以恢復應用服務器a的ip地址的流量權重,比如,恢復至原有的0.1,等等,然后,獲取另一個壓測任務,并根據該另一個壓測任務獲取對應的ip列表,從該ip列表中選擇一個ip地址,如應用服務器b的ip地址作為目標對象,以繼續(xù)進行壓測,以此類推,直至將所有壓測任務中均執(zhí)行完畢。
需說明的是,步驟208和210的執(zhí)行順序可以不分先后。
由上可知,本實施例可以獲取壓測任務,根據壓測任務確定當前需要進行壓測的對象,并利用負載均衡技術增加該對象的流量權重,以將現網流量導向該對象,然后,采集該對象的各項性能指標,在性能指標達到預設瓶頸值或壓測時長大于預設時長時,統(tǒng)計壓測結果,從而實現對壓測任務中各個對象進行自動壓測的目的;由于該方案對所有服務都通用,且測試過程無需人工干預,因此,不僅實現簡便,而且適用性也較高;另外,由于該方案使用了真實的現網流量進行壓測,所以,相對于現有方案而言,也可以大大提高測試的全面性和準確性。
可選的,由于該方案可以將壓測結果與歷史壓測結果進行比對,且可以自動生成壓測報告并發(fā)送給預設聯系人,因此,相對于現有方案而言,不僅可以大大提高其靈活性、以及操作的便利性,而且,還可以更有效地對設備性能變化進行跟蹤,有利于后續(xù)對設備性能進行改善。
實施例三、
為了更好地實施方法,本發(fā)明實施例還提供一種壓力測試裝置,如圖3a所示,該壓力測試裝置可以包括獲取單元301、確定單元302、處理單元303和統(tǒng)計單元304,如下:
(1)獲取單元301;
獲取單元301,用于獲取壓測任務。
例如,該獲取單元301,具體可以用于從本地存儲空間或其他設備中讀取該壓測任務。
其中,該壓測任務可以根據實際應用的需求進行預設,具體可以指示至少一個壓測服務對象集合,以及指示每一個壓測服務對象集合對應的壓測內容。
其中,每個壓測服務對象集合中可以包括多個對象的標識,比如設備的名稱、和/或ip地址等。而壓測內容則可以包括cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等。
(2)確定單元302;
確定單元302,用于根據該壓測任務確定當前需要進行壓力測試的對象,得到目標對象。
例如,該確定單元302,具體可以用于根據該壓測任務獲取壓測服務對象集合,從該壓測服務對象集合中確定當前需要進行壓力測試的對象,得到目標對象。
比如,以該需要進行壓測的對象的標識為ip地址為例,則此時,確定單元302可以根據該壓測任務獲取需要進行壓測的設備的ip列表,從該ip列表中選擇一個ip地址作為目標對象。
(3)處理單元303;
處理單元303,用于在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標。
例如,該處理單元,具體可以用于采集該目標對象中央處理器使用率、內存使用率、磁盤使用率、設備每秒查詢率、和/或請求延時等性能指標。
其中,該預設時長可以根據實際應用的需求進行設置,比如,可以設置為1個鐘頭,或兩個鐘頭,等等。
可選的,將現網流量導向該目標對象的方式可以有多種,比如,可以通過增加該目標對象的流量權重來實現,即:
該處理單元303,具體可以用于在預設時長內增加該目標對象的流量權重,以將現網流量導向該目標對象,具體可以如下:
利用負載均衡技術增加該目標對象的流量權重,以將現網流量導向該目標對象,并統(tǒng)計壓測時長,在壓測時長超過預設時長時,恢復該目標對象的流量權重。
其中,統(tǒng)計壓測時長的方式可以有多種,比如,可以利用定時器或計時器來統(tǒng)計該壓測時長等等。
(4)統(tǒng)計單元304;
統(tǒng)計單元304,用于在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,并觸發(fā)獲取單元301執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢。
例如,以性能指標包括cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時為例,該統(tǒng)計單元304,具體可以用于執(zhí)行如下操作:
在cpu使用率達到預設瓶頸值時,根據壓測算法生成關于中央處理器使用率的壓測結果;和/或,
在內存使用率達到預設瓶頸值時,根據壓測算法生成關于內存使用率的壓測結果;和/或,
在磁盤使用率達到預設瓶頸值時,根據壓測算法生成關于磁盤使用率的壓測結果;和/或,
在設備每秒查詢率達到預設瓶頸值時,根據壓測算法生成關于設備每秒查詢率的壓測結果;和/或,
在請求延時達到預設瓶頸值時,根據壓測算法生成關于請求延時的壓測結果,等等。
其中,壓測算法可以根據實際應用的需求而定,在此不再贅述。
需說明的是,若在該預設時長內,若某項或某幾項性能指標未能達到瓶頸值,則可以直接統(tǒng)計對其相應的壓測結果進行統(tǒng)計,即可選的,該統(tǒng)計單元304,還可以用于在壓測時長超過預設時長時,執(zhí)行統(tǒng)計壓測結果的操作。
此外,可選的,為了便于用戶更好地了解該設備的性能,在得到當前的壓測結果之后,還可以將該壓測結果與歷史壓測結果,比如上一次壓測結果進行比較,即如圖3b所示,該壓力測試還可以包括比較單元305,如下:
該獲取單元301,還可以用于獲取歷史壓測結果,該歷史壓測結果為過去預設時間范圍內進行壓力測試所得到的壓測結果;
該比較單元305,可以用于將壓測結果與歷史壓測結果進行比對,得到比對結果。
可選的,為了便于維護人員及時獲取中該壓測結果,在統(tǒng)計壓測結果之后,除了可以保存該壓測結果之外,統(tǒng)計單元304還可以根據該壓測結果生成壓測報告,并將該壓測報告發(fā)送給預設聯系人,比如通過即時通訊信息、或郵件的方式發(fā)送給預設聯系人,等等。
可選的,在該壓測報告中,還可以包括其他的信息,比如該壓測結果與歷史壓測結果的比對結果,和/或設備性能的修復或改善建議,等等,在此不再贅述。
具體實施時,以上各個單元可以作為獨立的實體來實現,也可以進行任意組合,作為同一或若干個實體來實現,以上各個單元的具體實施可參見前面的方法實施例,在此不再贅述。
以上各個單元的具體實施可參見前面的實施例,在此不再贅述。
由上可知,本實施例的壓力測試裝置的獲取單元301可以獲取壓測任務,然后,由確定單元302根據壓測任務確定當前需要進行壓力測試的對象,得到目標對象,并由處理單元303在預設時長內將現網流量導向該目標對象,以采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,由統(tǒng)計單元304統(tǒng)計壓測結果,然后,觸發(fā)獲取單元301執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢,從而實現對壓測任務中各個對象進行自動壓測的目的;由于該方案對所有服務都通用,且測試過程無需人工干預,因此,不僅實現簡便,而且適用性也較高;另外,由于該方案使用了真實的現網流量進行壓測,所以,相對于現有方案而言,也可以大大提高測試的全面性和準確性。
實施例四、
相應的,本發(fā)明實施例還提供一種壓力測試系統(tǒng),包括本發(fā)明實施例所提供的任一種壓力測試裝置,其中,該壓力測試裝置具體可以集成在服務器,如調度服務器等設備中,例如,可以如下:
調度服務器,用于獲取壓測任務,根據該壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,返回執(zhí)行獲取壓測任務的步驟,直至壓測任務均測試完畢。
例如,該調度服務器,具體可以用于根據該壓測任務獲取壓測服務對象集合,從該壓測服務對象集合中確定當前需要進行壓測的對象,得到目標對象,在預設時長內增加該目標對象的流量權重,以將現網流量導向該目標對象。
其中,該性能指標可以包括cpu使用率、內存使用率、磁盤使用率、設備(比如服務器)每秒查詢率、和/或請求延時等參數。
可選的,若在該預設時長內,若某項或某幾項性能指標未能達到瓶頸值,則可以直接統(tǒng)計對其相應的壓測結果進行統(tǒng)計,即:
該調度服務器,還可以用于在壓測時長超過預設時長時,執(zhí)行統(tǒng)計壓測結果的步驟。
此外,為了便于用戶更好地了解該設備的性能,在得到當前的壓測結果之后,還可以將該壓測結果與歷史壓測結果,比如上一次壓測結果進行比較,即:
該調度服務器,還可以用于獲取歷史壓測結果,將壓測結果與歷史壓測結果進行比對,得到比對結果。
可選的,為了便于維護人員及時獲取中該壓測結果,在統(tǒng)計壓測結果之后,除了可以保存該壓測結果之外,還可以根據該壓測結果生成壓測報告,并發(fā)送給預設聯系人,即:
該調度服務器,還可以用于根據該壓測結果生成壓測報告,并將該壓測報告發(fā)送給預設聯系人,比如通過即時通訊信息、或郵件的方式發(fā)送給預設聯系人,等等。
可選的,該壓力測試系統(tǒng)還可以包括其他的設備,比如包括應用(或業(yè)務)服務器,如下:
應用服務器,用于接受調度服務器壓測,比如,可以接收調度服務器發(fā)送的關于獲取各項在性能指標的請求,獲取本地(即應用服務器)的各項性能指標,并向調度服務器返回各項性能指標。
以上各個設備的具體實施可參見前面的實施例,在此不再贅述。
由于該壓力測試系統(tǒng)可以包括本發(fā)明實施例所提供的任一種壓力測試裝置,因此,可以實現本發(fā)明實施例所提供的任一種壓力測試裝置所能實現的有益效果,詳見前面的實施例,在此不再贅述。
實施例五、
本發(fā)明實施例還提供一種調度服務器,如圖4所示,其示出了本發(fā)明實施例所涉及的調度服務器的結構示意圖,具體來講:
該調度服務器可以包括一個或者一個以上處理核心的處理器401、一個或一個以上計算機可讀存儲介質的存儲器402、電源403和輸入單元404等部件。本領域技術人員可以理解,圖4中示出的調度服務器結構并不構成對調度服務器的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
處理器401是該調度服務器的控制中心,利用各種接口和線路連接整個調度服務器的各個部分,通過運行或執(zhí)行存儲在存儲器402內的軟件程序和/或模塊,以及調用存儲在存儲器402內的數據,執(zhí)行調度服務器的各種功能和處理數據,從而對調度服務器進行整體監(jiān)控??蛇x的,處理器401可包括一個或多個處理核心;優(yōu)選的,處理器401可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器401中。
存儲器402可用于存儲軟件程序以及模塊,處理器401通過運行存儲在存儲器402的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數據處理。存儲器402可主要包括存儲程序區(qū)和存儲數據區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區(qū)可存儲根據調度服務器的使用所創(chuàng)建的數據等。此外,存儲器402可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應地,存儲器402還可以包括存儲器控制器,以提供處理器401對存儲器402的訪問。
調度服務器還包括給各個部件供電的電源403,優(yōu)選的,電源403可以通過電源管理系統(tǒng)與處理器401邏輯相連,從而通過電源管理系統(tǒng)實現管理充電、放電、以及功耗管理等功能。電源403還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉換器或者逆變器、電源狀態(tài)指示器等任意組件。
該調度服務器還可包括輸入單元404,該輸入單元404可用于接收輸入的數字或字符信息,以及產生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。
盡管未示出,調度服務器還可以包括顯示單元等,在此不再贅述。具體在本實施例中,調度服務器中的處理器401會按照如下的指令,將一個或一個以上的應用程序的進程對應的可執(zhí)行文件加載到存儲器402中,并由處理器401來運行存儲在存儲器402中的應用程序,從而實現各種功能,如下:
獲取壓測任務,根據該壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,返回執(zhí)行獲取壓測任務的步驟,直至壓測任務均測試完畢。
例如,具體可以根據該壓測任務獲取壓測服務對象集合,從該壓測服務對象集合中確定當前需要進行壓測的對象,得到目標對象,在預設時長內增加該目標對象的流量權重,以將現網流量導向該目標對象。
其中,該性能指標可以包括cpu使用率、內存使用率、磁盤使用率、設備每秒查詢率、和/或請求延時等參數。
可選的,若在該預設時長內,若某項或某幾項性能指標未能達到瓶頸值,則可以直接統(tǒng)計對其相應的壓測結果進行統(tǒng)計,即該存儲在存儲器402中的應用程序,還可以實現如下功能:
在壓測時長超過預設時長時,觸發(fā)執(zhí)行統(tǒng)計壓測結果的操作。
此外,為了便于用戶更好地了解該設備的性能,在得到當前的壓測結果之后,還可以將該壓測結果與歷史壓測結果,比如上一次壓測結果進行比較,即該存儲在存儲器402中的應用程序,還可以實現如下功能:
獲取歷史壓測結果,將壓測結果與歷史壓測結果進行比對,得到比對結果。
可選的,為了便于維護人員及時獲取中該壓測結果,在統(tǒng)計壓測結果之后,除了可以保存該壓測結果之外,還可以根據該壓測結果生成壓測報告,并發(fā)送給預設聯系人,即該存儲在存儲器402中的應用程序,還可以實現如下功能:
根據該壓測結果生成壓測報告,并將該壓測報告發(fā)送給預設聯系人,比如通過即時通訊信息、或郵件的方式發(fā)送給預設聯系人,等等。
以上各個操作具體可參見前面的實施例,在此不再贅述。
由上可知,本實施例的調度服務器可以獲取壓測任務,根據壓測任務確定當前需要進行壓力測試的對象,得到目標對象,在預設時長內將現網流量導向該目標對象,并采集該目標對象的各項性能指標,在性能指標達到預設瓶頸值時,統(tǒng)計壓測結果,然后,返回執(zhí)行獲取壓測任務的操作,直至壓測任務均測試完畢,從而實現對壓測任務中各個對象進行自動壓測的目的;由于該方案對所有服務都通用,且測試過程無需人工干預,因此,不僅實現簡便,而且適用性也較高;另外,由于該方案使用了真實的現網流量進行壓測,所以,相對于現有方案而言,也可以大大提高測試的全面性和準確性。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(rom,readonlymemory)、隨機存取記憶體(ram,randomaccessmemory)、磁盤或光盤等。
以上對本發(fā)明實施例所提供的一種壓力測試方法、裝置和系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。