亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種服務(wù)器壓力測試方法和裝置的制造方法

文檔序號:9455723閱讀:507來源:國知局
一種服務(wù)器壓力測試方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器壓力測試方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,對服務(wù)器的性能和穩(wěn)定性的要求越來越高,因此經(jīng)常需要對服務(wù)器進行壓力測試以采集服務(wù)器性能指標及網(wǎng)絡(luò)請求的處理速度情況等?,F(xiàn)有的后臺進行壓力測試的工具非常多,例如:HTTP_L0AD,AB (Apache Benchmark)等,都可以進行后臺壓力測試。
[0003]現(xiàn)有的壓力測試方式中,都是預(yù)先編寫若干測試請求樣本得到測試請求樣本集合,然后通過并發(fā)線程隨機從測試請求樣本集合中提取測試請求樣本以向服務(wù)器發(fā)出測試請求,該方式下多個并發(fā)線程可能會向服務(wù)器發(fā)出相同的測試請求,這時若服務(wù)器端設(shè)置有緩存,則會使用緩存中的數(shù)據(jù)對測試請求進行響應(yīng),即會對測試結(jié)果造成干擾。
[0004]另一方面,現(xiàn)有的壓力測試工具在進行測試后均無法得到具體的測試結(jié)果,例如在遇到測試結(jié)果不成功的時候,不能具體的反映出不成功的是哪個請求,這時管理人員需要查看服務(wù)器端的訪問日志,效率非常低下。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種服務(wù)器壓力測試方法和裝置,可得到對服務(wù)器進行壓力測試的詳細測試結(jié)果。
[0006]為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種服務(wù)器壓力測試方法,所述方法包括:
[0007]測試樣本隊列讀取預(yù)設(shè)的多個測試請求樣本,其中每個所述測試請求樣本攜帶被測服務(wù)器的不同的資源標識;
[0008]多個并發(fā)線程分別從所述樣本請求隊列中提取不同的測試請求樣本,并根據(jù)提取到的測試請求樣本向被測服務(wù)器發(fā)送測試請求;
[0009]所述多個并發(fā)線程分別獲取所述測試請求的測試結(jié)果,并將所述測試結(jié)果與所述被測服務(wù)器的資源標識關(guān)聯(lián)保存。
[0010]相應(yīng)地,本發(fā)明實施例還提供了一種服務(wù)器壓力測試裝置,包括:
[0011 ] 測試樣本隊列,用于讀取預(yù)設(shè)的多個測試請求樣本,其中每個所述測試請求樣本攜帶被測服務(wù)器的不同的資源標識;
[0012]多個并發(fā)線程,每個并發(fā)線程用于分別從所述樣本請求隊列中提取不同的測試請求樣本,并根據(jù)提取到的測試請求樣本向被測服務(wù)器發(fā)送測試請求;
[0013]所述多個并發(fā)線程,還用于分別獲取所述測試請求的測試結(jié)果,并將所述測試結(jié)果與所述被測服務(wù)器的資源標識關(guān)聯(lián)保存。
[0014]本實施例中的服務(wù)器壓力測試裝置中設(shè)定多個并發(fā)線程從樣本請求隊列提取不同的測試樣本請求從而向被測服務(wù)器發(fā)出測試請求,可實現(xiàn)獲取對服務(wù)器進行壓力測試的詳細測試結(jié)果,當出現(xiàn)測試不成功的測試結(jié)果時,可以方便查找到對應(yīng)的測試請求樣本和對應(yīng)的資源標識。進而由于各個并發(fā)線程向被測服務(wù)器發(fā)出的是不同的測試請求,也避免了因被測服務(wù)器利用緩存數(shù)據(jù)快速響應(yīng)測試請求所帶來的測試誤差。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實施例中的一種服務(wù)器壓力測試方法的流程示意圖;
[0017]圖2是本發(fā)明另一實施例中的服務(wù)器壓力測試方法的流程示意圖;
[0018]圖3是本發(fā)明另一實施例中的服務(wù)器壓力測試方法的流程示意圖;
[0019]圖4是本發(fā)明實施例中的服務(wù)器壓力測試裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0020]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0021 ] 本發(fā)明實施例所提及的被測服務(wù)器可以為網(wǎng)站服務(wù)器、在線地圖后臺服務(wù)器等可能需要同時接收用戶大量并發(fā)請求業(yè)務(wù)的后臺服務(wù)器。對服務(wù)器進行壓力測試的執(zhí)行主體可以為本發(fā)明實施例中提出的服務(wù)器壓力測試裝置,其可以實現(xiàn)在任一網(wǎng)絡(luò)設(shè)備中。
[0022]圖1是本發(fā)明實施例中的一種服務(wù)器壓力測試方法的流程示意圖,如圖所示本實施例中的服務(wù)器壓力測試方法可以包括:
[0023]S101,測試樣本隊列讀取預(yù)設(shè)的多個測試請求樣本,其中每個所述測試請求樣本攜帶被測服務(wù)器的不同的資源標識。
[0024]具體的,服務(wù)器壓力測試裝置可以預(yù)先定義一個測試樣本隊列Queue,在測試開始后,測試樣本隊列讀取預(yù)設(shè)的多個測試請求樣本,該測試請求樣本可以根據(jù)被測服務(wù)器的不同資源標識預(yù)先設(shè)定,例如可以根據(jù)被測服務(wù)器的不同的可用URL(Uniform ResoureLocator:統(tǒng)一資源定位符)設(shè)定測試請求樣本,所述測試請求樣本中可以攜帶所述被測服務(wù)器的不同URL,還可以包括用于向被測服務(wù)器發(fā)送測試請求的其他參數(shù)和測試數(shù)據(jù),例如向被測服務(wù)器同一 URL發(fā)送的不同參數(shù)和業(yè)務(wù)數(shù)據(jù)也可得到不同的測試結(jié)果,以在線地圖后臺服務(wù)器為例,其根據(jù)不同檢索條件可以得到不同的訪問URL,如檢索詞為“url”時向被測服務(wù)器提交的http請求的URL可以為http://map.xxxxx.com/ ? newmap = l&ie =utf-8&s = s% 26wd% 3Durl,檢索詞為“南京”時向被測服務(wù)器提交的http請求的URL可以為 http://map.xxxxx.com/ ? newmap = l&ie = utf-8&s = s% 26wd% 3D% E5% 8D%97% E4% BA% AC,服務(wù)器壓力測試裝置可以通過預(yù)先收集用戶可能向被測服務(wù)器發(fā)送的請求量較高的URL,從而得到所述多個測試請求樣本。
[0025]S102,多個并發(fā)線程分別從所述樣本請求隊列中提取不同的測試請求樣本,并根據(jù)提取到的測試請求樣本向被測服務(wù)器發(fā)送測試請求。
[0026]具體的,所述并發(fā)線程的數(shù)量可以預(yù)先通過管理員根據(jù)需要設(shè)定得到。例如所述樣本請求隊列中讀取的前10個測試請求樣本分別為A、B、C、D……1、J,當前的4個并發(fā)線程1、并發(fā)線程2以及并發(fā)線程3分別從樣本請求隊列中提取A、B以及C,并根據(jù)提取到的測試請求樣本向被測服務(wù)器發(fā)送測試請求,如可以根據(jù)提取到的測試請求樣本中攜帶的URL地址向被測服務(wù)器發(fā)送http請求。進而在可選實施例中,服務(wù)器壓力測試裝置可以預(yù)先定義一個定時器Timer,所述多個并發(fā)線程可以通過定時器獲取各個測試請求從發(fā)送測試請求到獲取測試結(jié)果的測試時間,例如在發(fā)送測試請求時從定時器獲取發(fā)送時間,以及在獲取到測試結(jié)果時從定時器獲取測試結(jié)果時間,從而得到測試時間。所述并發(fā)線程可以為守護線程(ThreadUrl),即為了避免進程在執(zhí)行過程中的信息在終端上顯示并且進程也不會被終端所產(chǎn)生的任何終端信息所打斷,脫離于終端操作系統(tǒng)并且在后臺運行的進程。
[0027]S103,所述多個并發(fā)線程分別獲取所述測試請求的測試結(jié)果,并將所述測試結(jié)果與所述被測服務(wù)器的資源標識關(guān)聯(lián)保存。
[0028]具體的,被測服務(wù)器在接收到并發(fā)線程發(fā)送的測試請求后,可以向并發(fā)線程返回測試結(jié)果,如根據(jù)接收到的測試請求進行業(yè)務(wù)處理成功,則將業(yè)務(wù)處理結(jié)果返回該并發(fā)線程,若業(yè)務(wù)處理失敗,則可以將業(yè)務(wù)處理失敗結(jié)果返回該并發(fā)線程,還可以將業(yè)務(wù)處理失敗的詳細信息(失敗原因或錯誤代碼)返回并發(fā)線程,進而若因網(wǎng)絡(luò)傳輸失敗等原因?qū)е卤粶y服務(wù)器未能接收到并發(fā)線程發(fā)送的測試請求,該并發(fā)線程也可以根據(jù)預(yù)設(shè)的策略執(zhí)行重發(fā)測試請求,或在可選實施例中若在預(yù)設(shè)的測試請求接收時限內(nèi)未能接收到被測服務(wù)器返回的測試結(jié)果,
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1