壓力測試方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種壓力測試方法和裝置。其中,該方法包括:記錄響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到服務(wù)器回應(yīng)的時(shí)間;獲取服務(wù)器的處理器的當(dāng)前性能參數(shù);基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間;獲取處理器的預(yù)設(shè)性能參數(shù)和處理器的對于HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間;依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。采用本發(fā)明,解決了現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,實(shí)現(xiàn)了占用恒定內(nèi)存即可實(shí)現(xiàn)對服務(wù)器的壓力測試的效果。
【專利說明】壓力測試方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種壓力測試方法和裝置。
【背景技術(shù)】
[0002]在對web網(wǎng)站進(jìn)行壓力測試時(shí),需要收集不同的性能數(shù)據(jù)來確定服務(wù)器的瓶頸,而現(xiàn)有的壓力工具會(huì)記錄每一次請求的時(shí)間,那么在大量的并發(fā)過程中,會(huì)因記錄大量的請求時(shí)間,為存儲(chǔ)這些數(shù)據(jù)會(huì)消耗大量的內(nèi)存。
[0003]針對現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]針對相關(guān)技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,目前尚未提出有效的解決方案,為此,本發(fā)明的主要目的在于提供一種壓力測試方法和裝置,以解決上述問題。
[0005]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種壓力測試方法,該方法包括:記錄響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到服務(wù)器回應(yīng)的時(shí)間;獲取服務(wù)器的處理器的當(dāng)前性能參數(shù);基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間;獲取處理器的預(yù)設(shè)性能參數(shù)和處理器的對于HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間;依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
[0006]進(jìn)一步地,獲取服務(wù)器的處理器的當(dāng)前性能參數(shù)包括:當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
[0007]進(jìn)一步地,依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果包括:比較當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的大小,以及平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果;讀取比較結(jié)果所指示的測試結(jié)果。
[0008]進(jìn)一步地,依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果包括:計(jì)算當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的第二比率;對第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù);讀取加權(quán)參數(shù)所指示的測試結(jié)果。
[0009]進(jìn)一步地,基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間包括:計(jì)算服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum = Q1+Q2+…Qn,QU Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的請求數(shù)量;使用總數(shù)量計(jì)算平均響應(yīng)時(shí)間,t = (T1*Q1+T2*Q2+…Tn*Qn)/Qsum,其中,Tl、T2、…、Tn表示各個(gè)不同的響應(yīng)時(shí)間。
[0010]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種壓力測試裝置,該裝置包括:記錄模塊,用于記錄響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到服務(wù)器回應(yīng)的時(shí)間;第一獲取模塊,用于獲取服務(wù)器的處理器的當(dāng)前性能參數(shù);計(jì)算模塊,用于基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間;第二獲取模塊,用于獲取處理器的預(yù)設(shè)性能參數(shù)和處理器的對于HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間;確定模塊,用于依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
[0011]進(jìn)一步地,第一獲取模塊包括:獲取子模塊,用于當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
[0012]進(jìn)一步地,確定模塊包括:比較模塊,用于比較當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的大小,以及平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果;第一讀取模塊,用于讀取比較結(jié)果所指示的測試結(jié)果。
[0013]進(jìn)一步地,確定模塊包括:第一計(jì)算子模塊,用于計(jì)算當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的第二比率;第二計(jì)算子模塊,用于對第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù);第二讀取模塊,用于讀取加權(quán)參數(shù)所指示的測試結(jié)果。
[0014]進(jìn)一步地,計(jì)算模塊包括:第三計(jì)算子模塊,用于計(jì)算服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum = Q1+Q2+…Qn,Ql、Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的請求數(shù)量;第四計(jì)算子模塊,用于使用總數(shù)量計(jì)算平均響應(yīng)時(shí)間,t =(T1*Q1+T2*Q2+...Tn*Qn) /Qsum,其中,Tl、T2、...、Tn 表示各個(gè)不同的響應(yīng)時(shí)間。
[0015]采用本發(fā)明上述實(shí)施例,在web網(wǎng)站上進(jìn)行壓力測試時(shí),匯總每個(gè)htttp請求的響應(yīng)時(shí)間,得到響應(yīng)時(shí)間和請求數(shù)量的對應(yīng)關(guān)系,然后基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間,并依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。在上述實(shí)施例中,按照一定的時(shí)間粒度給這些http請求的時(shí)間進(jìn)行歸類,響應(yīng)時(shí)間和請求數(shù)量的數(shù)據(jù)占用恒定的內(nèi)存空間,不許大量的內(nèi)存,解決了現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,實(shí)現(xiàn)了占用恒定內(nèi)存即可實(shí)現(xiàn)對服務(wù)器的壓力測試的效果。
【專利附圖】
【附圖說明】
[0016]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0017]圖1是根據(jù)本發(fā)明實(shí)施例的壓力測試方法的流程圖;
[0018]圖2是根據(jù)本發(fā)明實(shí)施例的壓力測試裝置的示意圖。
【具體實(shí)施方式】
[0019]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0020]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0021]圖1是根據(jù)本發(fā)明實(shí)施例的壓力測試方法的流程圖,如圖1所示該方法包括如下步驟:
[0022]步驟S102,記錄響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到服務(wù)器回應(yīng)的時(shí)間。
[0023]步驟S104,獲取服務(wù)器的處理器的當(dāng)前性能參數(shù)。
[0024]步驟S106,基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間。
[0025]步驟S108,獲取處理器的預(yù)設(shè)性能參數(shù)和處理器的對于HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間。
[0026]步驟S110,依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
[0027]采用本發(fā)明上述實(shí)施例,在web網(wǎng)站上進(jìn)行壓力測試時(shí),匯總每個(gè)htttp請求的響應(yīng)時(shí)間,得到響應(yīng)時(shí)間和請求數(shù)量的對應(yīng)關(guān)系,然后基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間,并依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。在上述實(shí)施例中,按照一定的時(shí)間粒度給這些http請求的時(shí)間進(jìn)行歸類,響應(yīng)時(shí)間和請求數(shù)量的數(shù)據(jù)占用恒定的內(nèi)存空間,不許大量的內(nèi)存,解決了現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,實(shí)現(xiàn)了占用恒定內(nèi)存即可實(shí)現(xiàn)對服務(wù)器的壓力測試的效果。
[0028]在本發(fā)明的上述實(shí)施例,可以通過壓力計(jì)數(shù)器記錄響應(yīng)時(shí)間和請求數(shù)量,具體地,壓力計(jì)數(shù)器可以自動(dòng)記錄程序發(fā)送一個(gè)http請求到收到http回應(yīng)的時(shí)間,該時(shí)間稱為響應(yīng)時(shí)間。每一個(gè)響應(yīng)時(shí)間會(huì)對應(yīng)一個(gè)請求數(shù)量,當(dāng)有兩次請求時(shí)間相同的時(shí)候,請求數(shù)量為2,之后每當(dāng)新增一次請求,響應(yīng)時(shí)間和之前的一次請求時(shí)間相同,那么對應(yīng)的請求數(shù)量便會(huì)加1,響應(yīng)時(shí)間精確到0.0lms0表I示出了響應(yīng)時(shí)間和請求數(shù)量的對應(yīng)關(guān)系。
[0029]表1:
[0030]
響應(yīng)時(shí)間(ms) 請求數(shù)量(次)
ΤΓ2?10
272120
3.2270
[0031]在上述實(shí)施例中,響應(yīng)時(shí)間的粒度為:0.0lms (毫秒)。
[0032]具體地,在獲取到響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量之后,基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間可以包括:計(jì)算服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum = Q1+Q2+…Qn, Q1、Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的請求數(shù)量;使用總數(shù)量計(jì)算平均響應(yīng)時(shí)間,t =(T1*Q1+T2*Q2+...Tn*Qn) /Qsum,其中,Tl、T2、...、Tn 表示各個(gè)不同的響應(yīng)時(shí)間。
[0033]例如,Τ(1…η)表示獲取到不同的響應(yīng)時(shí)間,Q(1…η)表示對應(yīng)的請求數(shù)量??傉埱髷?shù)量 Qsum = Q1+Q2+…Qn ;平均響應(yīng)時(shí)間=(T1*Q1+T2*Q2+...Tn*Qn)/Qsum。
[0034]根據(jù)本發(fā)明的上述實(shí)施例,獲取服務(wù)器的處理器的當(dāng)前性能參數(shù)可以包括:當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
[0035]具體地,可以通過擴(kuò)展監(jiān)控模塊獲取處理器的性能參數(shù)。擴(kuò)展監(jiān)控模塊監(jiān)控接收壓力的服務(wù)器,當(dāng)壓力測試程序啟動(dòng)后,擴(kuò)展監(jiān)控模塊會(huì)自動(dòng)啟動(dòng)并開始監(jiān)控接收壓力的服務(wù)器,該模塊內(nèi)置了最常用的性能指標(biāo)比如:cpU使用率、內(nèi)存使用量、網(wǎng)絡(luò)帶寬吞吐量、服務(wù)器并發(fā)連接數(shù)、網(wǎng)站請求次數(shù)等。
[0036]在本發(fā)明一個(gè)可選的實(shí)施例中,依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果可以包括:比較當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的大小,以及平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果;讀取比較結(jié)果所指示的測試結(jié)果。
[0037]具體地,通過監(jiān)控?cái)?shù)據(jù)報(bào)表模塊匯總從壓力模塊的計(jì)數(shù)器、擴(kuò)展模塊中輸出的數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行計(jì)算,給出建議報(bào)表。
[0038]例如,獲取到的預(yù)設(shè)性能參數(shù)可以為:預(yù)設(shè)CPU使用率70% ;預(yù)設(shè)內(nèi)存占用率50% ;預(yù)設(shè)網(wǎng)絡(luò)帶寬使用率80% ;預(yù)設(shè)響應(yīng)時(shí)間Is等;獲取到的當(dāng)前CPU使用率80% ;當(dāng)前內(nèi)存占用率40% ;當(dāng)前網(wǎng)絡(luò)帶寬使用率60% ;平均響應(yīng)時(shí)間0.9s。
[0039]上述的預(yù)設(shè)性能參數(shù)可以自定義更改。
[0040]比較當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的大小,以及平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的大小,得到:當(dāng)前CPU使用率超過70% ;當(dāng)前內(nèi)存占用率低于50% ;當(dāng)前網(wǎng)絡(luò)帶寬使用率低于80% ;平均響應(yīng)時(shí)間小于Is的比較結(jié)果,從數(shù)據(jù)表中讀取該比較結(jié)果指示的測試結(jié)果。
[0041]在得到測試結(jié)果之后,可以依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間、預(yù)設(shè)響應(yīng)時(shí)間、比較結(jié)果以及測試結(jié)果生成測試報(bào)表,輸出該測試報(bào)表。
[0042]在本發(fā)明的另一個(gè)可選的實(shí)施例中,依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果可以包括:計(jì)算當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的第二比率;對第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù);讀取加權(quán)參數(shù)所指示的測試結(jié)果。
[0043]例如,獲取到的預(yù)設(shè)性能參數(shù)可以為:預(yù)設(shè)內(nèi)存占用率50% ;預(yù)設(shè)響應(yīng)時(shí)間Is等;獲取到的當(dāng)前內(nèi)存占用率40% ;平均響應(yīng)時(shí)間0.9s。
[0044]計(jì)算第一比率為0.8,計(jì)算第二比率為0.9,獲取預(yù)設(shè)權(quán)重參數(shù)0.3和0.7,得到加權(quán)參數(shù)為:0.87。然后從數(shù)據(jù)表中讀取該加權(quán)參數(shù)對應(yīng)的測試結(jié)果。
[0045]數(shù)據(jù)表中可以按照加權(quán)參數(shù)的值的區(qū)間保存測試結(jié)果,如加權(quán)參數(shù)的值為[0,1]對應(yīng)的測試結(jié)果可以為:服務(wù)器的性能良好。
[0046]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0047]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種壓力測試裝置,如圖2所示,該裝置可以包括:記錄模塊10、第一獲取模塊30、計(jì)算模塊50、第二獲取模塊70以及確定模塊90。
[0048]其中,記錄模塊10用于記錄響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到服務(wù)器回應(yīng)的時(shí)間;第一獲取模塊30用于獲取服務(wù)器的處理器的當(dāng)前性能參數(shù);計(jì)算模塊50用于基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間;第二獲取模塊70用于獲取處理器的預(yù)設(shè)性能參數(shù)和處理器的對于HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間;確定模塊90用于依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
[0049]采用本發(fā)明上述實(shí)施例,在web網(wǎng)站上進(jìn)行壓力測試時(shí),匯總每個(gè)htttp請求的響應(yīng)時(shí)間,得到響應(yīng)時(shí)間和請求數(shù)量的對應(yīng)關(guān)系,然后基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間,并依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。在上述實(shí)施例中,按照一定的時(shí)間粒度給這些http請求的時(shí)間進(jìn)行歸類,響應(yīng)時(shí)間和請求數(shù)量的數(shù)據(jù)占用恒定的內(nèi)存空間,不許大量的內(nèi)存,解決了現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,實(shí)現(xiàn)了占用恒定內(nèi)存即可實(shí)現(xiàn)對服務(wù)器的壓力測試的效果。
[0050]在本發(fā)明的上述實(shí)施例,可以通過壓力計(jì)數(shù)器記錄響應(yīng)時(shí)間和請求數(shù)量,具體地,壓力計(jì)數(shù)器可以自動(dòng)記錄程序發(fā)送一個(gè)http請求到收到http回應(yīng)的時(shí)間,該時(shí)間稱為響應(yīng)時(shí)間。每一個(gè)響應(yīng)時(shí)間會(huì)對應(yīng)一個(gè)請求數(shù)量,當(dāng)有兩次請求時(shí)間相同的時(shí)候,請求數(shù)量為2,之后每當(dāng)新增一次請求,響應(yīng)時(shí)間和之前的一次請求時(shí)間相同,那么對應(yīng)的請求數(shù)量便會(huì)加1,響應(yīng)時(shí)間精確到0.01ms。
[0051]具體地,計(jì)算模塊可以包括:第三計(jì)算子模塊,用于計(jì)算服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum = Q1+Q2+…Qn,Q1、Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的請求數(shù)量;第四計(jì)算子模塊,用于使用總數(shù)量計(jì)算平均響應(yīng)時(shí)間,t =(T1*Q1+T2*Q2+...Tn*Qn) /Qsum,其中,Tl、T2、...、Tn 表示各個(gè)不同的響應(yīng)時(shí)間。
[0052]例如,Τ(1…η)表示獲取到不同的響應(yīng)時(shí)間,Q(1…η)表示對應(yīng)的請求數(shù)量??傉埱髷?shù)量 Qsum = Q1+Q2+…Qn ;平均響應(yīng)時(shí)間=(T1*Q1+T2*Q2+...Tn*Qn)/Qsum。
[0053]根據(jù)本發(fā)明的上述實(shí)施例,第一獲取模塊可以包括:獲取子模塊,用于當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
[0054]具體地,可以通過擴(kuò)展監(jiān)控模塊獲取處理器的性能參數(shù)。擴(kuò)展監(jiān)控模塊監(jiān)控接收壓力的服務(wù)器,當(dāng)壓力測試程序啟動(dòng)后,擴(kuò)展監(jiān)控模塊會(huì)自動(dòng)啟動(dòng)并開始監(jiān)控接收壓力的服務(wù)器,該模塊內(nèi)置了最常用的性能指標(biāo)比如:cpU使用率、內(nèi)存使用量、網(wǎng)絡(luò)帶寬吞吐量、服務(wù)器并發(fā)連接數(shù)、網(wǎng)站請求次數(shù)等。
[0055]在本發(fā)明的一個(gè)實(shí)施例中,確定模塊可以包括:比較模塊,用于比較當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的大小,以及平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果;第一讀取模塊,用于讀取比較結(jié)果所指示的測試結(jié)果。
[0056]在本發(fā)明的另一個(gè)實(shí)施例中,確定模塊可以包括:第一計(jì)算子模塊,用于計(jì)算當(dāng)前性能參數(shù)和預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算平均響應(yīng)時(shí)間和預(yù)設(shè)響應(yīng)時(shí)間的第二比率;第二計(jì)算子模塊,用于對第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù);第二讀取模塊,用于讀取加權(quán)參數(shù)所指示的測試結(jié)果。
[0057]具體地,通過監(jiān)控?cái)?shù)據(jù)報(bào)表模塊匯總從壓力模塊的計(jì)數(shù)器、擴(kuò)展模塊中輸出的數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行計(jì)算,給出建議報(bào)表。
[0058]本實(shí)施例中所提供的各個(gè)模塊與方法實(shí)施例對應(yīng)步驟所提供的使用方法相同、應(yīng)用場景也可以相同。當(dāng)然,需要注意的是,上述模塊涉及的方案可以不限于上述實(shí)施例一中的內(nèi)容和場景,且上述模塊可以運(yùn)行在計(jì)算機(jī)終端或移動(dòng)終端,可以通過軟件或硬件實(shí)現(xiàn)。
[0059]從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果:
[0060]采用本發(fā)明上述實(shí)施例,在web網(wǎng)站上進(jìn)行壓力測試時(shí),匯總每個(gè)htttp請求的響應(yīng)時(shí)間,得到響應(yīng)時(shí)間和請求數(shù)量的對應(yīng)關(guān)系,然后基于響應(yīng)時(shí)間和響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算服務(wù)器的處理器的平均響應(yīng)時(shí)間,并依據(jù)當(dāng)前性能參數(shù)、預(yù)設(shè)性能參數(shù)、平均響應(yīng)時(shí)間以及預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。在上述實(shí)施例中,按照一定的時(shí)間粒度給這些http請求的時(shí)間進(jìn)行歸類,響應(yīng)時(shí)間和請求數(shù)量的數(shù)據(jù)占用恒定的內(nèi)存空間,不許大量的內(nèi)存,解決了現(xiàn)有技術(shù)中在進(jìn)行壓力測試時(shí)存儲(chǔ)大量測試數(shù)據(jù)占用內(nèi)存的問題,實(shí)現(xiàn)了占用恒定內(nèi)存即可實(shí)現(xiàn)對服務(wù)器的壓力測試的效果。
[0061]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0062]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種壓力測試方法,其特征在于,包括: 記錄響應(yīng)時(shí)間和所述響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,所述響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到所述服務(wù)器回應(yīng)的時(shí)間; 獲取所述服務(wù)器的處理器的當(dāng)前性能參數(shù); 基于響應(yīng)時(shí)間和所述響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算所述服務(wù)器的處理器的平均響應(yīng)時(shí)間; 獲取所述處理器的預(yù)設(shè)性能參數(shù)和所述處理器的對于所述HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間; 依據(jù)所述當(dāng)前性能參數(shù)、所述預(yù)設(shè)性能參數(shù)、所述平均響應(yīng)時(shí)間以及所述預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
2.根據(jù)權(quán)利要求1所述的壓力測試方法,其特征在于,獲取所述服務(wù)器的處理器的當(dāng)前性能參數(shù)包括: 當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取所述服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
3.根據(jù)權(quán)利要求1或2所述的壓力測試方法,其特征在于,依據(jù)所述當(dāng)前性能參數(shù)、所述預(yù)設(shè)性能參數(shù)、所述平均響應(yīng)時(shí)間以及所述預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果包括: 比較所述當(dāng)前性能參數(shù)和所述預(yù)設(shè)性能參數(shù)的大小,以及所述平均響應(yīng)時(shí)間和所述預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果; 讀取所述比較結(jié)果所指示的所述測試結(jié)果。
4.根據(jù)權(quán)利要求1或2所述的壓力測試方法,其特征在于,依據(jù)所述當(dāng)前性能參數(shù)、所述預(yù)設(shè)性能參數(shù)、所述平均響應(yīng)時(shí)間以及所述預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果包括: 計(jì)算所述當(dāng)前性能參數(shù)和所述預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算所述平均響應(yīng)時(shí)間和所述預(yù)設(shè)響應(yīng)時(shí)間的第二比率; 對所述第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù); 讀取所述加權(quán)參數(shù)所指示的所述測試結(jié)果。
5.根據(jù)權(quán)利要求1所述的壓力測試方法,其特征在于,基于響應(yīng)時(shí)間和所述響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算所述服務(wù)器的處理器的平均響應(yīng)時(shí)間包括: 計(jì)算所述服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum =Q1+Q2+…Qn,Q1、Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的所述請求數(shù)量; 使用所述總數(shù)量計(jì)算所述平均響應(yīng)時(shí)間,t= (Tl*Ql+T2*Q2+*“Tn*Qn)/Qsum,其中,T1、T2、…、Tn表示所述各個(gè)不同的響應(yīng)時(shí)間。
6.一種壓力測試裝置,其特征在于,包括: 記錄模塊,用于記錄響應(yīng)時(shí)間和所述響應(yīng)時(shí)間對應(yīng)的請求數(shù)量,其中,所述響應(yīng)時(shí)間為發(fā)送HTTP請求至服務(wù)器并接收到所述服務(wù)器回應(yīng)的時(shí)間; 第一獲取模塊,用于獲取所述服務(wù)器的處理器的當(dāng)前性能參數(shù); 計(jì)算模塊,用于基于響應(yīng)時(shí)間和所述響應(yīng)時(shí)間對應(yīng)的請求數(shù)量計(jì)算所述服務(wù)器的處理器的平均響應(yīng)時(shí)間; 第二獲取模塊,用于獲取所述處理器的預(yù)設(shè)性能參數(shù)和所述處理器的對于所述HTTP請求的預(yù)設(shè)響應(yīng)時(shí)間; 確定模塊,用于依據(jù)所述當(dāng)前性能參數(shù)、所述預(yù)設(shè)性能參數(shù)、所述平均響應(yīng)時(shí)間以及所述預(yù)設(shè)響應(yīng)時(shí)間得到測試結(jié)果。
7.根據(jù)權(quán)利要求6所述的壓力測試裝置,其特征在于,所述第一獲取模塊包括: 獲取子模塊,用于當(dāng)壓力測試啟動(dòng)之后,實(shí)時(shí)獲取所述服務(wù)器的處理器的CPU使用率、內(nèi)存占用率以及網(wǎng)絡(luò)帶寬使用率。
8.根據(jù)權(quán)利要求6或7所述的壓力測試裝置,其特征在于,所述確定模塊包括: 比較模塊,用于比較所述當(dāng)前性能參數(shù)和所述預(yù)設(shè)性能參數(shù)的大小,以及所述平均響應(yīng)時(shí)間和所述預(yù)設(shè)響應(yīng)時(shí)間的大小,得到比較結(jié)果; 第一讀取模塊,用于讀取所述比較結(jié)果所指示的所述測試結(jié)果。
9.根據(jù)權(quán)利要求6或7所述的壓力測試裝置,其特征在于,所述確定模塊包括: 第一計(jì)算子模塊,用于計(jì)算所述當(dāng)前性能參數(shù)和所述預(yù)設(shè)性能參數(shù)的第一比率,并計(jì)算所述平均響應(yīng)時(shí)間和所述預(yù)設(shè)響應(yīng)時(shí)間的第二比率; 第二計(jì)算子模塊,用于對所述第一比率和第二比率進(jìn)行加權(quán)計(jì)算,得到加權(quán)參數(shù); 第二讀取模塊,用于讀取所述加權(quán)參數(shù)所指示的所述測試結(jié)果。
10.根據(jù)權(quán)利要求6所述的壓力測試裝置,其特征在于,所述計(jì)算模塊包括: 第三計(jì)算子模塊,用于計(jì)算所述服務(wù)器在壓力測試過程中接收到的HTTP請求的總數(shù)量Qsum,其中,Qsum = Q1+Q2+…Qn, Q1、Q2、…、Qn表示對應(yīng)各個(gè)不同的響應(yīng)時(shí)間的所述請求數(shù)量; 第四計(jì)算子模塊,用于使用所述總數(shù)量計(jì)算所述平均響應(yīng)時(shí)間,t= (T1*Q1+T2*Q2+...Tn*Qn)/Qsum,其中,T1、T2、…、Tn表示所述各個(gè)不同的響應(yīng)時(shí)間。
【文檔編號】H04L12/26GK104202220SQ201410484120
【公開日】2014年12月10日 申請日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】劉凱, 戴飛 申請人:北京國雙科技有限公司