分布式壓力測(cè)試系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種分布式壓力測(cè)試系統(tǒng)和方法。
【背景技術(shù)】
[0002]應(yīng)用在上線前,通常要進(jìn)行性能測(cè)試,模擬實(shí)際場(chǎng)景找出性能瓶頸。單臺(tái)測(cè)試服務(wù)器資源有限,無法滿足測(cè)試一些復(fù)雜系統(tǒng)所需達(dá)到的并發(fā)峰值,所以就需要考慮協(xié)同多臺(tái)測(cè)試服務(wù)器,以形成足夠的并發(fā)壓力,這就需要采用分布式壓力測(cè)試方法,利用測(cè)試服務(wù)器集群產(chǎn)生模擬真實(shí)業(yè)務(wù)的壓力對(duì)被測(cè)系統(tǒng)進(jìn)行加壓,分析被測(cè)系統(tǒng)在不同壓力情況下的表現(xiàn),找出其潛在的瓶頸。
[0003]然而,目前的分布式壓力測(cè)試方法,測(cè)試服務(wù)器在執(zhí)行測(cè)試任務(wù)時(shí),缺乏安全機(jī)制,如果在外網(wǎng)環(huán)境下,測(cè)試過程中容易遇到外來不明請(qǐng)求(如病毒)的攻擊,因此測(cè)試應(yīng)用范圍只能局限于同一操作系統(tǒng)和同一網(wǎng)絡(luò)環(huán)境。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種分布式壓力測(cè)試系統(tǒng)和方法,旨在提高測(cè)試系統(tǒng)的安全性,擴(kuò)展測(cè)試應(yīng)用范圍。
[0005]為達(dá)以上目的,本發(fā)明提出一種分布式壓力測(cè)試系統(tǒng),包括控制服務(wù)器和由至少兩個(gè)測(cè)試服務(wù)器組成的測(cè)試服務(wù)器集群,其中:
[0006]所述控制服務(wù)器,用于組建所述測(cè)試服務(wù)器集群,為所述測(cè)試服務(wù)器集群中的每一個(gè)測(cè)試服務(wù)器分配一個(gè)身份識(shí)別碼;向所述測(cè)試服務(wù)器集群派發(fā)測(cè)試任務(wù),為每一個(gè)測(cè)試任務(wù)分配一個(gè)密鑰;
[0007]所述測(cè)試服務(wù)器集群,用于接收所述測(cè)試任務(wù),判斷所述測(cè)試任務(wù)的密鑰與接收測(cè)試任務(wù)的測(cè)試服務(wù)器的身份識(shí)別碼是否匹配,當(dāng)二者匹配時(shí)執(zhí)行所述測(cè)試任務(wù),否則不予執(zhí)行所述測(cè)試任務(wù)。
[0008]進(jìn)一步地,還包括監(jiān)控服務(wù)器,所述監(jiān)控服務(wù)器用于:實(shí)時(shí)監(jiān)控被測(cè)系統(tǒng)的負(fù)載狀況和所述測(cè)試服務(wù)器不予執(zhí)行所述測(cè)試任務(wù)的狀況。
[0009]進(jìn)一步地,所述監(jiān)控服務(wù)器還用于:通過可視化視圖實(shí)時(shí)展示監(jiān)控結(jié)果。
[0010]進(jìn)一步地,所述分布式壓力測(cè)試系統(tǒng)基于JMeter工具進(jìn)行壓力測(cè)試。
[0011]進(jìn)一步地,所述控制服務(wù)器還用于:設(shè)置JMeter線程數(shù)量和循環(huán)測(cè)試次數(shù)。
[0012]進(jìn)一步地,所述控制服務(wù)器還用于:將本機(jī)加入所述測(cè)試服務(wù)器集群,為本機(jī)分配一個(gè)身份識(shí)別碼,作為測(cè)試服務(wù)器執(zhí)行測(cè)試任務(wù)。
[0013]本發(fā)明同時(shí)提出一種分布式壓力測(cè)試方法,包括步驟:
[0014]控制服務(wù)器組建測(cè)試服務(wù)器集群,為所述測(cè)試服務(wù)器集群中的每一個(gè)測(cè)試服務(wù)器分配一個(gè)身份識(shí)別碼,所述測(cè)試服務(wù)器集群由至少兩個(gè)測(cè)試服務(wù)器組成;
[0015]所述控制服務(wù)器向所述測(cè)試服務(wù)器集群派發(fā)測(cè)試任務(wù),為每一個(gè)測(cè)試任務(wù)分配一個(gè)密鑰;
[0016]所述測(cè)試服務(wù)器集群接收所述測(cè)試任務(wù),判斷所述測(cè)試任務(wù)的密鑰與接收所述測(cè)試任務(wù)的測(cè)試服務(wù)器的身份識(shí)別碼是否匹配,當(dāng)二者匹配時(shí)執(zhí)行所述測(cè)試任務(wù),否則不予執(zhí)行所述測(cè)試任務(wù)。
[0017]進(jìn)一步地,所述方法還包括:監(jiān)控服務(wù)器實(shí)時(shí)監(jiān)控被測(cè)系統(tǒng)的負(fù)載狀況和所述測(cè)試服務(wù)器不予執(zhí)行所述測(cè)試任務(wù)的狀況。
[0018]進(jìn)一步地,所述方法還包括:所述監(jiān)控服務(wù)器通過可視化視圖實(shí)時(shí)展示監(jiān)控結(jié)果。
[0019]進(jìn)一步地,所述方法還包括:所述控制服務(wù)器將本機(jī)加入所述測(cè)試服務(wù)器集群,為本機(jī)分配一個(gè)身份識(shí)別碼,作為測(cè)試服務(wù)器執(zhí)行測(cè)試任務(wù)。
[0020]本發(fā)明所提供的一種分布式壓力測(cè)試系統(tǒng),通過對(duì)測(cè)試任務(wù)進(jìn)行驗(yàn)證,只有攜帶了密鑰并匹配成功的測(cè)試任務(wù)才允許執(zhí)行,避免了測(cè)試過程中遇到外來不明請(qǐng)求(如病毒)的攻擊,使得分布式測(cè)試過程更加安全,強(qiáng)化了整個(gè)測(cè)試系統(tǒng)或框架的安全性、穩(wěn)定性以及健壯性。由于對(duì)測(cè)試任務(wù)的驗(yàn)證可在外網(wǎng)環(huán)境測(cè)試中起到保護(hù)盾的作用,可以避免受到外來不明請(qǐng)求(如病毒)的攻擊,因此本發(fā)明的測(cè)試系統(tǒng)不再局限于同一操作系統(tǒng)和同一網(wǎng)絡(luò)環(huán)境,擴(kuò)展了測(cè)試應(yīng)用范圍,還可以應(yīng)用于任何跨網(wǎng)絡(luò)、跨區(qū)域、跨操作系統(tǒng)的測(cè)試,被測(cè)對(duì)象可分布在不同環(huán)境的測(cè)試,如被測(cè)對(duì)象環(huán)境可以為內(nèi)外網(wǎng)測(cè)試、window操作系統(tǒng)與linux系統(tǒng)的測(cè)試等等。
【附圖說明】
[0021]圖1是本發(fā)明的分布式壓力測(cè)試系統(tǒng)第一實(shí)施例的模塊示意圖;
[0022]圖2是圖1的分布式壓力測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試時(shí)各服務(wù)器的交互示意圖;
[0023]圖3是本發(fā)明的分布式壓力測(cè)試系統(tǒng)第二實(shí)施例的模塊示意圖;
[0024]圖4是圖3中的分布式壓力測(cè)試系統(tǒng)進(jìn)行壓力測(cè)試時(shí)各服務(wù)器的交互示意圖;
[0025]圖5是本發(fā)明的分布式壓力測(cè)試方法第一實(shí)施例的流程圖;
[0026]圖6是本發(fā)明的分布式壓力測(cè)試方法第二實(shí)施例的流程圖。
[0027]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0028]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0029]參見圖1、圖2,提出本發(fā)明的分布式壓力測(cè)試系統(tǒng)第一實(shí)施例,所述系統(tǒng)包括控制服務(wù)器和測(cè)試服務(wù)器集群,所述測(cè)試服務(wù)器集群由至少兩個(gè)測(cè)試服務(wù)器組成。所述系統(tǒng)基于壓力測(cè)試工具進(jìn)行壓力測(cè)試,系統(tǒng)中的每一臺(tái)服務(wù)器上均安裝有壓力測(cè)試工具,其中最典型的壓力測(cè)試工具為JMeter工具。
[0030]控制服務(wù)器:用于利用壓力測(cè)試工具組建測(cè)試服務(wù)器集群,為測(cè)試服務(wù)器集群中的每一個(gè)測(cè)試服務(wù)器分配一個(gè)身份識(shí)別碼(ID)。然后解釋測(cè)試計(jì)劃,獲得需要執(zhí)行的任務(wù)列表,根據(jù)測(cè)試執(zhí)行時(shí)間向測(cè)試服務(wù)器集群派發(fā)測(cè)試任務(wù),并為每一個(gè)測(cè)試任務(wù)分配一個(gè)密鑰,以此指定執(zhí)行該任務(wù)的測(cè)試服務(wù)器,實(shí)現(xiàn)各測(cè)試服務(wù)器負(fù)載均衡。
[0031]測(cè)試完成后,控制服務(wù)器可收集集群中各測(cè)試服務(wù)器的測(cè)試情況,并匯總打印。控制服務(wù)器端的壓力測(cè)試工具打印log日志,查看整個(gè)集群測(cè)試情況。
[0032]測(cè)試服務(wù)器集群:用于接收控制服務(wù)器派發(fā)的測(cè)試任務(wù),對(duì)測(cè)試任務(wù)進(jìn)行驗(yàn)證,判斷該測(cè)試任務(wù)的密鑰與接收測(cè)試任務(wù)的測(cè)試服務(wù)器的身份識(shí)別碼是否匹配(如二者的數(shù)字是否相同),當(dāng)二者匹配時(shí)則執(zhí)行該測(cè)試任務(wù),向被測(cè)系統(tǒng)發(fā)送請(qǐng)求,當(dāng)二者不匹配時(shí)則不予執(zhí)行該測(cè)試任務(wù)。其中,被測(cè)系統(tǒng)包括Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器等。
[0033]從而,通過對(duì)測(cè)試任務(wù)進(jìn)行驗(yàn)證,只有攜帶了密鑰并匹配成功的測(cè)試任務(wù)才允許執(zhí)行,避免了測(cè)試過程中遇到外來不明請(qǐng)求(如病毒)的攻擊,使得分布式測(cè)試過程更加安全,強(qiáng)化了整個(gè)測(cè)試框架的安全性、穩(wěn)定性以及健壯性。由于對(duì)測(cè)試任務(wù)的驗(yàn)證可在外網(wǎng)環(huán)境測(cè)試中起到保護(hù)盾的作用,可以避免受到外來不明請(qǐng)求(如病毒)的攻擊,因此本發(fā)明的測(cè)試系統(tǒng)不再局限于同一操作系統(tǒng)和同一網(wǎng)絡(luò)環(huán)境,還可以應(yīng)用于任何跨網(wǎng)絡(luò)、跨區(qū)域、跨操作系統(tǒng)的測(cè)試,被測(cè)對(duì)象可分布在不同環(huán)境的測(cè)試,如被測(cè)對(duì)象環(huán)境可以為內(nèi)外網(wǎng)測(cè)試、window操作系統(tǒng)與linux系統(tǒng)的測(cè)試等等。
[0034]進(jìn)一步地,當(dāng)測(cè)試服務(wù)器數(shù)量不夠,不能滿足測(cè)試需求時(shí),控制服務(wù)器還可以將本機(jī)加入測(cè)試服務(wù)器集群,為本機(jī)分配一個(gè)身份識(shí)別碼,作為測(cè)試服務(wù)器執(zhí)行測(cè)試任務(wù)。
[0035]進(jìn)一步地,控制服務(wù)器還可以根據(jù)實(shí)際需要設(shè)置測(cè)試線程數(shù)量(如JMeter線程數(shù)量)和循環(huán)測(cè)試次數(shù),如需進(jìn)行負(fù)載測(cè)試,可連續(xù)運(yùn)行幾天,觀察系統(tǒng)的負(fù)載情況。從而可滿足目前大數(shù)據(jù)時(shí)代的測(cè)試,當(dāng)系統(tǒng)實(shí)際場(chǎng)景處理并發(fā)數(shù)上萬、十萬、上百萬甚至更多時(shí),都可適用于本發(fā)明的分布式壓力測(cè)試系統(tǒng)。當(dāng)當(dāng)前的測(cè)試服務(wù)器數(shù)量無法滿足當(dāng)前并發(fā)時(shí),可無限拓展集群中的測(cè)試服務(wù)器來滿足實(shí)際業(yè)務(wù)需求,靈活拓展,無需修改整體測(cè)試架構(gòu),方便、簡(jiǎn)單、快速,提高了測(cè)試效率。
[0036]參見圖3、圖4,提出本發(fā)明的分布式壓力測(cè)試系統(tǒng)第二實(shí)施例,本實(shí)施例與第一實(shí)施例的區(qū)別是增加了一監(jiān)控服務(wù)器,所述監(jiān)控服務(wù)器用于實(shí)時(shí)監(jiān)控被測(cè)系統(tǒng)的負(fù)載狀況,如被測(cè)系統(tǒng)的內(nèi)存、CPU、10等運(yùn)行情況,還可以進(jìn)一步監(jiān)控測(cè)試任驗(yàn)證失敗,測(cè)試服務(wù)器不予執(zhí)行測(cè)試任務(wù)的狀況。
[0037]進(jìn)一步地,監(jiān)控服務(wù)器還可以通過可視化視圖實(shí)時(shí)展