1、性能測(cè)試工具的使用原理
軟件系統(tǒng)中客戶端向服務(wù)端發(fā)送請(qǐng)求,服務(wù)端將結(jié)果返回,這個(gè)過程通過協(xié)議進(jìn)行交流。
性能測(cè)試工具就像一個(gè)代理服務(wù)器(proxy server),把客戶端的行為通過腳本復(fù)制下來,通過腳本運(yùn)行,模擬客戶端向服務(wù)器發(fā)送請(qǐng)求。
壓力服務(wù)器(負(fù)載機(jī))。性能測(cè)試工具是通過向服務(wù)器產(chǎn)生壓力,達(dá)到監(jiān)測(cè)性能的目的。要模擬多個(gè)客戶端并發(fā)請(qǐng)求時(shí),性能測(cè)試工具就通過配置,復(fù)制出多個(gè)代理服務(wù)器,相當(dāng)于有多個(gè)線程或者進(jìn)程發(fā)送請(qǐng)求,線程或進(jìn)程運(yùn)行是需要占用資源。所以當(dāng)一臺(tái)測(cè)試機(jī)器的資源有限時(shí),就需要多個(gè)測(cè)試機(jī)合作完成。
在多個(gè)進(jìn)程或線程請(qǐng)求服務(wù)器時(shí),性能測(cè)試工具監(jiān)聽服務(wù)器的各項(xiàng)性能指標(biāo)。比如服務(wù)器的吞吐量、響應(yīng)時(shí)間、每秒點(diǎn)擊數(shù)等。有一些性能測(cè)試工具還可以監(jiān)聽中間件的指標(biāo),比如cpu,內(nèi)存,顯卡、磁盤空間。
最后對(duì)監(jiān)聽的數(shù)據(jù)繪制出圖表,以供測(cè)試工程師分析參考。
?2、關(guān)于loadrunner中的使用問題
2.1 loadrunner的參數(shù)化
? ? 在腳本中,有一些變量需要進(jìn)行參數(shù)化。比如在登錄的時(shí)候,需要使用不同的用戶名和密碼登錄,這個(gè)時(shí)候就可以對(duì)username和password進(jìn)行參數(shù)化。參數(shù)化的時(shí)候當(dāng)有兩個(gè)參數(shù)有對(duì)應(yīng)關(guān)系時(shí),應(yīng)該只建立一個(gè)參數(shù)文件。參數(shù)文件中有兩張表,并且在第一張表中新增列,把第二張表的數(shù)據(jù)添加進(jìn)去。
?
另外對(duì)于參數(shù)設(shè)置有9種形式。需要根據(jù)不同的場(chǎng)景選擇不同的模式。比如注冊(cè)用戶時(shí),用戶名應(yīng)該是唯一的,此時(shí),數(shù)據(jù)的分配方法應(yīng)該是unique。而登錄的話,可以順序取值,分配方法為sequential。
數(shù)據(jù)的分配方法有unique(唯一的)、sequential(順序的)、random(隨機(jī)的); 數(shù)據(jù)更新方法有種:each iteration(每一個(gè)迭代);each occurence(每一次出現(xiàn));once(第一次迭代中分配的將在之后每一輪迭代中重復(fù)使用);
舉例說明:當(dāng)分配方式是sequential,更新方法是each iteration:說明第一輪迭代時(shí),每一個(gè)vuser都取第一個(gè)值。第二輪迭代時(shí),每一個(gè)vuser都取第二個(gè)值。
? ? ? ? ? ? ? ? ?當(dāng)分配方式是sequential,更新方法是each iteration:說明第一輪迭代時(shí),第一個(gè)vuser取第一個(gè)值,第2個(gè)vuser取第2個(gè)值,第n個(gè)vuser取第n個(gè)值。第二輪迭代時(shí),第一個(gè)vuser取第n 1個(gè)值。
? ? ? ? ? ? ? ? ?當(dāng)分配方式是sequential,更新方法是once:說明第一輪迭代時(shí),第一個(gè)vuser取第一個(gè)值,第2個(gè)vuser取第2個(gè)值,第n個(gè)vuser取第n個(gè)值。第二輪迭代時(shí),第一個(gè)vuser取第1個(gè)值,第2個(gè)vuser取第2個(gè)值,第n個(gè)vuser取第n個(gè)值。
2.2 ?腳本錄制的模式有兩種,一種是錄制url-based script,一種是html-based script。html的方式錄制的腳本比較直觀,但是由于他的腳本與上下文操作有關(guān),如果上文出現(xiàn)問題,會(huì)影響下文的執(zhí)行。(web_submit_form、web_link都是html—based script錄制的腳本形式 ),而url模式錄制的腳本與上下文無關(guān)(例如web_submit_data、web_url)。
2.3 場(chǎng)景設(shè)置
在性能測(cè)試腳本就緒后,就可以進(jìn)行場(chǎng)景設(shè)置了,場(chǎng)景有兩種模式,一種是基于目標(biāo)的場(chǎng)景,一種是手動(dòng)場(chǎng)景。一般較多的都是手動(dòng)場(chǎng)景。loadrunner默認(rèn)狀態(tài)下都是基于結(jié)果場(chǎng)景。如果需要基于目標(biāo)進(jìn)行場(chǎng)景設(shè)置,需要在添加腳本的界面,勾選第二個(gè)。
基于目標(biāo)的場(chǎng)景一般用來測(cè)試,具體的性能指標(biāo)項(xiàng),比如20個(gè)虛擬用戶在執(zhí)行業(yè)務(wù)時(shí),在5min內(nèi)是否能夠達(dá)到點(diǎn)擊率100tps.目標(biāo)場(chǎng)景有5中,包括虛擬用戶數(shù)vuser、每秒點(diǎn)擊數(shù)hit per second。
來源:http://www.icode9.com/content-4-202751.html聯(lián)系客服