性能測(cè)試面試題大全

簡(jiǎn)答題(2*10=20分)
客戶交付一個(gè)性能測(cè)試項(xiàng)目习柠,請(qǐng)闡述你的實(shí)施流程疏魏。
答案:

測(cè)試設(shè)計(jì)階段:

1)了解被測(cè)系統(tǒng)的性能需求,定義測(cè)試目標(biāo)和范圍钳踊;

2)了解系統(tǒng)的技術(shù)信息衷敌,如系統(tǒng)架構(gòu)等勿侯;

3)確定測(cè)試方案、進(jìn)度安排缴罗,并制定測(cè)試計(jì)劃,場(chǎng)景設(shè)置方案,及需要收集的測(cè)試數(shù)據(jù)助琐;

4)同相關(guān)人員協(xié)商討論測(cè)試方案;

5)準(zhǔn)備數(shù)據(jù)收集模板面氓;不同項(xiàng)目的性能測(cè)試兵钮,需要收集的數(shù)據(jù)不同;針對(duì)性的制定一個(gè)模板侧但,更符合需要矢空;

測(cè)試環(huán)境準(zhǔn)備:

1)技術(shù)準(zhǔn)備;選擇性能測(cè)試工具禀横;測(cè)試方案中涉及到的技術(shù)問題屁药;測(cè)試數(shù)據(jù)的收集方案實(shí)現(xiàn);如:如何監(jiān)控系統(tǒng)資源等柏锄;

2)搭建測(cè)試環(huán)境酿箭;

3)創(chuàng)建初始數(shù)據(jù);如虛擬用戶使用的賬號(hào)等趾娃;

測(cè)試執(zhí)行階段:

1)錄制腳本缭嫡;

2)調(diào)試腳本;

3)執(zhí)行場(chǎng)景抬闷;

4)收集測(cè)試數(shù)據(jù)妇蛀,并簡(jiǎn)單整理;

測(cè)試分析階段:

1)分析測(cè)試數(shù)據(jù)笤成;

提交測(cè)試報(bào)告评架。

解釋5個(gè)常用的性能指標(biāo)的名稱與具體含義。
答案:

并發(fā):所有用戶在同一時(shí)刻對(duì)系統(tǒng)執(zhí)行操作炕泳,一般指做同一件事情或操作纵诞。
在線:所有用戶在一段時(shí)間內(nèi)對(duì)系統(tǒng)執(zhí)行操作。
請(qǐng)求響應(yīng)時(shí)間
從client端發(fā)出請(qǐng)求到得到響應(yīng)的整個(gè)時(shí)間培遵;

      包括:client端響應(yīng)時(shí)間+網(wǎng)絡(luò)響應(yīng)時(shí)間+Server端響應(yīng)時(shí)間浙芙。

事務(wù)請(qǐng)求響應(yīng)時(shí)間
完成相應(yīng)事務(wù)所用的時(shí)間;這個(gè)是性能測(cè)試中重點(diǎn)關(guān)注的指標(biāo)籽腕。

TPS(Transaction Per Second)
每秒鐘系統(tǒng)能夠處理的交易或事務(wù)的數(shù)量嗡呼。它是衡量系統(tǒng)處理能力的重要指標(biāo)。TPS是LoadRunner中重要的性能參數(shù)指標(biāo)皇耗。

點(diǎn)擊率(Hit Per Second)
每秒發(fā)送的HTTP請(qǐng)求的數(shù)量晤锥;點(diǎn)擊率越大對(duì)Server的壓力越大

資源利用率
對(duì)不同資源的使用程度,如CPU,I/O,內(nèi)存矾瘾,……

寫出5個(gè)Loadrunner中常用函數(shù)女轿,并對(duì)其中2個(gè)舉例說明用法。

答案:

字符串復(fù)制

strcpy(str,"Hello ") ;

字符串連接

strcat(str,"World !");

lr_message("str: %s",str);

sprintf(s, "%s love %s.", "I", “ocean"); //產(chǎn)生:“I love ocean. "

變量轉(zhuǎn)為參數(shù),將變量str的值存到參數(shù)Param中

lr_save_string(str,"Param");

參數(shù)復(fù)制

lr_save_string(lr_eval_string("{Param}"),"Param_1");

參數(shù)轉(zhuǎn)為變量

strcpy(str1,lr_eval_string("{Param_1}"));

簡(jiǎn)述LoadRunner的工作原理壕翩?

答案:loadrunner會(huì)自動(dòng)監(jiān)控指定的URL或應(yīng)用程序所發(fā)出的請(qǐng)求及服務(wù)器返回的響應(yīng)蛉迹,它做為一個(gè)第三方(Agent)監(jiān)視客戶端與服務(wù)器端的所有對(duì)話,然后把這些對(duì)話記錄下來(lái)放妈,生成腳本北救,再次運(yùn)行時(shí)模擬客戶端發(fā)出的請(qǐng)求,捕獲服務(wù)器端的響應(yīng)芜抒。

什么是集合點(diǎn)珍策?設(shè)置集合點(diǎn)有什么意義?LoadRunner中設(shè)置集合點(diǎn)的函數(shù)是哪個(gè)宅倒?

答案:集合點(diǎn):是一個(gè)并發(fā)訪問的點(diǎn)攘宙,例如在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000 人同時(shí)提交數(shù)據(jù)拐迁,在LoadRunner 中可以通過在提交數(shù)據(jù)操作前面加入集合點(diǎn)蹭劈,這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí),LoadRunner 就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn)线召,如果不到1000 人铺韧,LoadRunner 就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000 人時(shí)缓淹,LoadRunner 命令1000 人同時(shí)去提交數(shù)據(jù)哈打,并發(fā)訪問的目的。
注意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來(lái)使用讯壶,常放在事務(wù)的前面料仗,集合點(diǎn)只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合點(diǎn)鹏溯。集合點(diǎn)函數(shù)如下:lr_rendezvous(“SubmitData”)

HTML-based script與URL-based script的腳本有什么區(qū)別?

答案:使用“HTML-based script”的模式錄制腳本淹仑,VuGen為用戶的每個(gè)HTML操作生成單獨(dú)的步驟丙挽,這種腳本看上去比較直觀;使用“URL-based script”模式錄制腳本時(shí)匀借,VuGen可以捕獲所有作為用戶操作結(jié)果而發(fā)送到服務(wù)器的HTTP請(qǐng)求颜阐,然后為用戶的每個(gè)請(qǐng)求分別生成對(duì)應(yīng)方法。

通常吓肋,基于瀏覽器的Web應(yīng)用會(huì)使用“HTML-based script”模式來(lái)錄制腳本凳怨;而沒有基于瀏覽器的Web應(yīng)用、Web應(yīng)用中包含了與服務(wù)器進(jìn)行交互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進(jìn)行通信的JavaScript/VBScript代碼肤舞、基于瀏覽器的應(yīng)用中使用了HTTPS安全協(xié)議紫新,這時(shí)使用“URL-based script”模式進(jìn)行錄制。

如何設(shè)置LaodRunner才能讓集合點(diǎn)只對(duì)一半的用戶生效李剖?

答案:在Loadrunner中,進(jìn)入Controller->Scenario->Rendezvous …->Policy芒率,系統(tǒng)彈出Policy對(duì)話框。在該對(duì)話框中可以設(shè)定集合點(diǎn)執(zhí)行的策略篙顺。

第一項(xiàng):表示當(dāng)所有用戶數(shù)的X%到達(dá)集合點(diǎn)時(shí)偶芍,開始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景。

第二項(xiàng):表示當(dāng)前正在運(yùn)行用戶數(shù)的X%到達(dá)集合點(diǎn)時(shí)德玫,開始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景匪蟀。

第三項(xiàng):表示當(dāng)X個(gè)用戶到達(dá)集合點(diǎn)時(shí),開始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景宰僧。

其中還有一項(xiàng)Timeout between Vusers材彪,就30秒來(lái)說,當(dāng)?shù)谝粋€(gè)用戶到達(dá)集合點(diǎn)后撒桨,再等待30秒查刻,如果在30秒內(nèi)到達(dá)的用戶數(shù)達(dá)到指定的數(shù)量,就開始繼續(xù)執(zhí)行場(chǎng)景凤类。如果在30秒內(nèi)還沒有達(dá)到指定的用戶數(shù)量穗泵,就不再等待,開始釋放等待的用戶并繼續(xù)執(zhí)行場(chǎng)景谜疤。

由上可知佃延,將第一項(xiàng)用戶數(shù)設(shè)置成50%可。

LoadRunner的Controller組件中Pacing參數(shù)的作用是什么夷磕?

答案: 設(shè)置LoadRunner中事務(wù)(trsaction)在每次循環(huán)中的間隔時(shí)間履肃,系統(tǒng)可以利用該間隔時(shí)間進(jìn)行相應(yīng)事務(wù)的結(jié)束收尾工作的處理。加大Pacing參數(shù)坐桩,可使系統(tǒng)壓力減小尺棋。

LoadRunner中如何監(jiān)控Windows資源?

答案:進(jìn)入被監(jiān)視windows系統(tǒng)绵跷,開啟以下二個(gè)服務(wù):Remote Procedure Call(RPC)和Remote Registry Service膘螟;在controller 中,Windows Resources窗口中右擊鼠標(biāo)選擇Add Measurements碾局,添加被監(jiān)控windows的IP地址荆残,選擇所屬系統(tǒng),然后選擇需要監(jiān)控的指標(biāo)就可以開始監(jiān)控净当。

如果讓QALoad模擬LoadRunner中只對(duì)關(guān)注的性能點(diǎn)進(jìn)行迭代測(cè)試内斯,你有什么好方法蕴潦?

答案:可以將QAload腳本中關(guān)注的事務(wù)點(diǎn)寫成一個(gè)循環(huán),如果進(jìn)行長(zhǎng)時(shí)間的綜合場(chǎng)景測(cè)試俘闯,則可將其寫成一個(gè)永真循環(huán)潭苞,如while (1) {事務(wù)點(diǎn)},則對(duì)關(guān)注的性能點(diǎn)進(jìn)行循環(huán)备徐,而腳本其他代碼不會(huì)進(jìn)行循環(huán)萄传。

什么是負(fù)載測(cè)試?

負(fù)載測(cè)試是通過逐步增加系統(tǒng)負(fù)載蜜猾,測(cè)試系統(tǒng)性能的變化秀菱,并最終確定在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量的測(cè)試蹭睡,例如衍菱,訪問一個(gè)頁(yè)面的響應(yīng)時(shí)間規(guī)定不超過1秒,負(fù)載測(cè)試就是測(cè)試在響應(yīng)時(shí)間為1秒時(shí)肩豁,系統(tǒng)所能承受的最大并發(fā)訪問用戶的數(shù)量脊串。

什么是性能測(cè)試?
 性能測(cè)試:指在一定的約束條件下(指定的軟件清钥、硬件琼锋、網(wǎng)絡(luò)環(huán)境等),確定系統(tǒng)所能承受的最大負(fù)載壓力祟昭。

說明負(fù)載測(cè)試過程缕坎?

第一步:計(jì)劃測(cè)試。在這里篡悟,我們需開發(fā)一個(gè)明確定義的測(cè)試計(jì)劃谜叹,以確保該測(cè)試方案能完成負(fù)載測(cè)試目標(biāo)。第二步:創(chuàng)建虛擬用戶搬葬。創(chuàng)建的腳本需要包含單個(gè)虛擬用戶需要執(zhí)行的操作荷腊、多個(gè)虛擬用戶作為一個(gè)整體要執(zhí)行的操作、以及能夠作為事務(wù)來(lái)度量的操作急凰。第三步:創(chuàng)建場(chǎng)景女仰。一個(gè)場(chǎng)景描述了在一個(gè)測(cè)試會(huì)話中發(fā)生的事件。它包含了當(dāng)場(chǎng)景中運(yùn)行時(shí)的機(jī)器抡锈、腳本和虛擬用戶疾忍。我們使用LoadRunner中的Controller創(chuàng)建場(chǎng)景。我們可以創(chuàng)建手動(dòng)場(chǎng)景也可以創(chuàng)建基于目標(biāo)的場(chǎng)景企孩。在手動(dòng)場(chǎng)景中锭碳,我們定義虛擬用戶的數(shù)量袁稽、負(fù)載生成器勿璃、被分配到每個(gè)腳本中虛擬用戶的百分比。對(duì)于web測(cè)試,我們創(chuàng)建基于目標(biāo)的場(chǎng)景补疑,其中目標(biāo)即測(cè)試過程中要達(dá)成的性能目標(biāo)歧沪。LoadRunner會(huì)由此自動(dòng)為我們創(chuàng)建一個(gè)場(chǎng)景。第四步:運(yùn)行場(chǎng)景莲组。我們通過配置多個(gè)虛擬用戶同時(shí)執(zhí)行任務(wù)來(lái)模擬對(duì)服務(wù)器加壓诊胞。在測(cè)試之前,我們?cè)O(shè)置場(chǎng)景的配置和計(jì)劃安排锹杈。我們可以運(yùn)行整個(gè)場(chǎng)景撵孤、一組虛擬用戶或單個(gè)虛擬用戶。第五步:監(jiān)控場(chǎng)景竭望。我們使用LoadRunner聯(lián)機(jī)運(yùn)行來(lái)監(jiān)測(cè)場(chǎng)景執(zhí)行邪码、事務(wù)系統(tǒng)資源,Web資源咬清,Web服務(wù)器資源闭专,Web應(yīng)用服務(wù)器資源,數(shù)據(jù)庫(kù)服務(wù)器資源旧烧,網(wǎng)絡(luò)延遲影钉,流媒體資源,防火墻服務(wù)器資源掘剪,ERP服務(wù)器資源平委,Java性能監(jiān)視器。第六步:分析測(cè)試結(jié)果杖小。在場(chǎng)景執(zhí)行時(shí)肆汹,LoadRunner記錄了應(yīng)用軟件在不同負(fù)載下的性能。我們可以使用LoadRunner的圖表和報(bào)告來(lái)分析應(yīng)用軟件的性能予权。

我們什么時(shí)候做負(fù)載和性能測(cè)試昂勉?

我們一旦完成界面(GUI)測(cè)試,我們就可以執(zhí)行負(fù)載測(cè)試∩ㄏ伲現(xiàn)代的軟件系統(tǒng)架構(gòu)龐大而復(fù)雜的岗照。而單用戶測(cè)試主要是側(cè)重于系統(tǒng)組件的功能和用戶界面的測(cè)試,應(yīng)用測(cè)試側(cè)重于整個(gè)系統(tǒng)的性能和可靠性笆环。例如攒至,一個(gè)典型的應(yīng)用測(cè)試場(chǎng)景,描繪了1000個(gè)用戶躁劣,同時(shí)登錄到系統(tǒng)迫吐。這就產(chǎn)生了問題,如系統(tǒng)的響應(yīng)時(shí)間是多少账忘,它會(huì)崩潰么志膀;是否兼容不同的應(yīng)用軟件和系統(tǒng)平臺(tái)熙宇;它是否可以支撐成千上萬(wàn)的用戶等,這時(shí)我們就需要做負(fù)載和性能測(cè)試溉浙。

什么是LoadRunner的組件烫止?
LoadRunner的組件有虛擬用戶生成器,控制器戳稽、代理程序馆蠕、LoadRunner的分析器和監(jiān)控器,LoadRunner在線幫助

你用LoadRunner的哪個(gè)組件錄制腳本惊奇?
虛擬用戶生成器(VuGen)可以用來(lái)錄制腳本互躬。它通過多種應(yīng)用程序類型和通訊協(xié)議來(lái)確保你開發(fā)一個(gè)Vuser腳本。

在多用戶模式下你用LoadRunnner的哪個(gè)組件來(lái)回放腳本颂郎?

虛擬用戶生成器(VuGen)可以用來(lái)錄制腳本吨铸。它通過多種應(yīng)用程序類型和通訊協(xié)議來(lái)確保你開發(fā)一個(gè)Vuser腳本。

在多用戶模式下你用LoadRunnner的哪個(gè)組件來(lái)回放腳本祖秒?
Controller組件可以用來(lái)在多用戶模式下回放腳本诞吱。這個(gè)過程可以在一組虛擬用戶以組的形式執(zhí)行腳本的場(chǎng)景中運(yùn)行時(shí)完成。

什么是場(chǎng)景
場(chǎng)景定義了發(fā)生在每個(gè)測(cè)試會(huì)話中的事件竭缝。例如房维,一個(gè)場(chǎng)景定義和控制了要加載的虛擬用戶的數(shù)量,要被執(zhí)行的動(dòng)作抬纸,虛擬用戶模擬壓力時(shí)的機(jī)器咙俩。

解釋W(xué)eb Vuser腳本的錄制模式
我們使用VuGen通過記錄一個(gè)用戶在客戶端執(zhí)行典型的業(yè)務(wù)流程來(lái)開發(fā)一個(gè)Vuser腳本。VuGen通過記錄客戶端和服務(wù)器之間的交互來(lái)創(chuàng)建腳本湿故。例如阿趁,基于Web的應(yīng)用程序,VuGen監(jiān)測(cè)客戶端直到數(shù)據(jù)庫(kù)坛猪,跟蹤所有發(fā)送出的請(qǐng)求脖阵,再?gòu)臄?shù)據(jù)庫(kù)服務(wù)器接收。我們使用VuGen:監(jiān)測(cè)應(yīng)用程序和服務(wù)器的交互墅茉;使形成函數(shù)調(diào)用命黔;插入生成的函數(shù)調(diào)用到一個(gè)Vuser腳本中。

為什么創(chuàng)建參數(shù)?

參數(shù)就像腳本中的變量就斤。他們被用來(lái)改變對(duì)服務(wù)器的輸入值來(lái)模擬真正的用戶悍募。每次當(dāng)腳本運(yùn)行時(shí),不同的數(shù)據(jù)設(shè)置被發(fā)送到服務(wù)器洋机。為了更精確的在Controller中測(cè)試坠宴,從而更好的模擬使用模型;一個(gè)腳本在系統(tǒng)上模擬很多不同的用戶绷旗。

什么是關(guān)聯(lián)喜鼓?解釋自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的區(qū)別

關(guān)聯(lián)是用來(lái)獲取每次腳本運(yùn)行時(shí)由嵌套請(qǐng)求產(chǎn)生的唯一的數(shù)據(jù)忧设。關(guān)聯(lián)提供值以避免產(chǎn)生重復(fù)值的錯(cuò)誤,并且優(yōu)化代碼(避免嵌套請(qǐng)求)颠通。自動(dòng)關(guān)聯(lián)是我們自己為關(guān)聯(lián)設(shè)置的一定規(guī)則。它可以是應(yīng)用服務(wù)器特定的膀懈。這里的值被通過規(guī)則創(chuàng)建的數(shù)據(jù)取代顿锰。在手動(dòng)關(guān)聯(lián)里,我們要關(guān)聯(lián)的值被瀏覽和創(chuàng)建關(guān)聯(lián)以用來(lái)關(guān)聯(lián)启搂。

什么是關(guān)聯(lián)硼控?解釋自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的區(qū)別
你在哪里設(shè)置自動(dòng)關(guān)聯(lián)的選項(xiàng)

從web自動(dòng)關(guān)聯(lián)的觀點(diǎn)來(lái)說,可以在錄制選項(xiàng)中和關(guān)聯(lián)表單中設(shè)置胳赌。這里我們可以使整個(gè)腳本關(guān)聯(lián)牢撼,選擇在線信息或者離線的動(dòng)作,在這里我們可以定義關(guān)聯(lián)的規(guī)則疑苫。為數(shù)據(jù)庫(kù)自動(dòng)關(guān)聯(lián)可以使用顯示輸出窗口和為了關(guān)聯(lián)瀏覽熏版,找出關(guān)聯(lián)查詢的圖表,選擇我們想關(guān)聯(lián)的查詢值來(lái)完成捍掺。如果我們知道要被關(guān)聯(lián)的特殊值撼短,我們只用為這個(gè)值創(chuàng)建關(guān)聯(lián),指定如何創(chuàng)建這個(gè)值

什么函數(shù)可以捕捉到web Vuser腳本的動(dòng)態(tài)值挺勿?

Web_reg_save_param函數(shù)保存動(dòng)態(tài)的數(shù)據(jù)信息到一個(gè)參數(shù)中曲横。

什么時(shí)候你在虛擬用戶產(chǎn)生器中禁用日志,什么時(shí)候選擇標(biāo)準(zhǔn)日志和擴(kuò)展日志不瓶?

一旦我們調(diào)試腳本來(lái)驗(yàn)證它的功能禾嫉,我們可以只記錄錯(cuò)誤。當(dāng)我們?cè)趫?chǎng)景中添加一個(gè)腳本蚊丐,日志記錄將自動(dòng)被禁用熙参。標(biāo)準(zhǔn)日志選項(xiàng):當(dāng)您選擇標(biāo)準(zhǔn)日志,它在腳本執(zhí)行調(diào)試時(shí)創(chuàng)建一個(gè)標(biāo)準(zhǔn)的功能和發(fā)送信息的日志麦备。大負(fù)荷的測(cè)試場(chǎng)景時(shí)尊惰,禁用此選項(xiàng)。當(dāng)你復(fù)制一個(gè)腳本到一個(gè)場(chǎng)景泥兰,日志自動(dòng)禁用擴(kuò)展日志選項(xiàng):選擇擴(kuò)展日志創(chuàng)建一個(gè)擴(kuò)展的日志弄屡,包括警告和其他信息。禁用此選項(xiàng)為大負(fù)荷的測(cè)試場(chǎng)景鞋诗。當(dāng)你復(fù)制一個(gè)腳本的場(chǎng)景膀捷,將被自動(dòng)禁用日志記錄。我們可以指定附加信息削彬,用擴(kuò)展日志選項(xiàng)添加到擴(kuò)展日志中全庸。

你如何調(diào)試LoadRunner的腳本秀仲?

VuGen包含兩個(gè)選項(xiàng)幫助調(diào)試VuGen腳本—通過逐步命令和斷點(diǎn)運(yùn)行某一步匣掸。選項(xiàng)對(duì)話框中的Debug設(shè)置陨闹,使我們決定在場(chǎng)景運(yùn)行期間進(jìn)行跟蹤的程度余蟹。Debug信息被寫到輸出窗口士骤,我們可以使用lr_set_debug_message函數(shù)手動(dòng)設(shè)置你的腳本中的信息類墨吓。如果我們希望得到關(guān)于一小部分腳本的調(diào)試信息時(shí)荔睹,這就有意義了镐依。

你怎么寫LR中用戶自定義的函數(shù)甩挫?寫幾個(gè)你以前項(xiàng)目中的函數(shù)责语?

在我們創(chuàng)建用戶自定義的函數(shù)之前我們需要?jiǎng)?chuàng)建外部的庫(kù)函數(shù)炮障。我們添加這個(gè)庫(kù)到VuGen bin目錄下。一旦庫(kù)被添加坤候,然戶我們分配給用戶自定義的函數(shù)作為參數(shù)胁赢。函數(shù)應(yīng)該有以下格式:__declspec(dllexport)char<函數(shù)名稱>(char,char *)白筹。用戶自定義函數(shù)如下:GetVersion智末,GetCurrentTime,GetPltform徒河,這些都是我之前的項(xiàng)目中用到的用戶自定義的函數(shù)吹害。

在run-time setting里你可以設(shè)置哪些改變?
Run Time Setting中我們所做的是:a)Pacing—它有迭代次數(shù)虚青。b)Log—在此它呀,我們有已禁用的標(biāo)準(zhǔn)日志。c)擴(kuò)展Think Time—在Think Time里有兩個(gè)選項(xiàng)棒厘,忽略think time和回放think time纵穿。d)General—在General選項(xiàng)卡中,我們可以設(shè)置vusers作為進(jìn)程或者多線程奢人,將每一步作為一個(gè)事務(wù)谓媒。

你在哪里設(shè)置Vuser測(cè)試時(shí)迭代?
我們?cè)赩uGen中的Run Time Setting中設(shè)置迭代何乎。這個(gè)導(dǎo)航是Run Time Setting句惯,Pacing選項(xiàng)卡,設(shè)置迭代次數(shù)支救。

你如何在負(fù)載下執(zhí)行功能測(cè)試抢野?
負(fù)載下的功能可以通過同時(shí)運(yùn)行多個(gè)Vuser來(lái)測(cè)試。通過增加一定數(shù)量的Vuser各墨,我們可以判斷服務(wù)器可以承受多少負(fù)載指孤。

什么是Ramp up?你如何設(shè)置?
這個(gè)選項(xiàng)被用來(lái)逐步增加Vuser的數(shù)量/服務(wù)器上的負(fù)載恃轩。初始值設(shè)置结洼,間隔的等待值可以被指定。要設(shè)置Ramp up叉跛,進(jìn)入“場(chǎng)景調(diào)度選項(xiàng)”

Vuser作為線程運(yùn)行的優(yōu)勢(shì)是什么松忍?
VuGen提供使用多線程的設(shè)施。這使每個(gè)產(chǎn)生器中運(yùn)行更多的Vuser筷厘。如果Vuser作為進(jìn)程運(yùn)行鸣峭,相同的驅(qū)動(dòng)程序?yàn)槊總€(gè)Vuser加載到內(nèi)存,從而占用大量的內(nèi)存敞掘。這限制了在單發(fā)生器中運(yùn)行的Vuser的數(shù)量。如果Vuser作為線程運(yùn)行楣铁,為給定數(shù)量的Vuser(如100)玖雁,只有一個(gè)驅(qū)動(dòng)程序的實(shí)例被加載到內(nèi)存。每個(gè)線程共享父驅(qū)動(dòng)程序的內(nèi)存盖腕,從而使每個(gè)產(chǎn)生器運(yùn)行更多的Vuser赫冬。

如果你想停止執(zhí)行出錯(cuò)的腳本,怎么做溃列?
Lr_abort函數(shù)中止執(zhí)行Vuser 腳本劲厌。它指示Vuser停止執(zhí)行Action部分,執(zhí)行vuser_end部分听隐,并結(jié)束執(zhí)行补鼻。這個(gè)函數(shù)是有用的,當(dāng)你需要手工停止一個(gè)腳本的執(zhí)行雅任,作為一個(gè)指定錯(cuò)誤條件下的結(jié)果风范。當(dāng)你使用這個(gè)函數(shù)停止一個(gè)腳本,Vuser被分配成停止?fàn)顟B(tài)沪么。為讓它生效硼婿,我們必須首先在Run—Time Setting中取消選擇“Continue on error”

響應(yīng)時(shí)間和吞吐量間的關(guān)系是什么?
吞吐量圖表顯示的是Vuser每秒從服務(wù)器收到的以字節(jié)為單位的數(shù)據(jù)量禽车。當(dāng)我們比較它和事務(wù)響應(yīng)時(shí)間寇漫,我們會(huì)發(fā)現(xiàn),若吞吐量下降殉摔,響應(yīng)時(shí)間也會(huì)下降州胳。同樣,高峰時(shí)期的吞吐量和最高的響應(yīng)時(shí)間大約在同一個(gè)時(shí)間逸月。

你如何識(shí)別性能瓶頸陋葡?
性能瓶頸可以使用監(jiān)控器監(jiān)測(cè)。這些監(jiān)控器可能是應(yīng)用服務(wù)器監(jiān)控器彻采、web服務(wù)器監(jiān)控器和網(wǎng)絡(luò)監(jiān)控器腐缤。它們幫助找出在場(chǎng)景中導(dǎo)致響應(yīng)時(shí)間增加有問題的區(qū)域捌归。通常所做的測(cè)試指標(biāo)是性能響應(yīng)時(shí)間、吞吐量岭粤,點(diǎn)擊率惜索,網(wǎng)絡(luò)延遲圖等

如果web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器剃浇、網(wǎng)絡(luò)都一切正常巾兆,那么哪里可能有問題?
問題可能是系統(tǒng)本身虎囚,應(yīng)用程序服務(wù)器或?yàn)閼?yīng)用程序編寫的代碼角塑。

你如何找出web服務(wù)器相關(guān)的問題?
利用web資源監(jiān)控器淘讥,我們可以發(fā)現(xiàn)web服務(wù)器的性能圃伶。使用這些監(jiān)測(cè)器我們可以分析發(fā)生在場(chǎng)景中的web服務(wù)器的吞吐量,每秒點(diǎn)擊數(shù)蒲列、以及每秒HTTP響應(yīng)數(shù)窒朋,每秒下載的網(wǎng)頁(yè)數(shù)量。

你是怎么找到數(shù)據(jù)庫(kù)中的相關(guān)問題蝗岖?
監(jiān)視運(yùn)行“數(shù)據(jù)庫(kù)”監(jiān)測(cè)器和在“數(shù)據(jù)資源圖”的幫助下侥猩,我們可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)中的相關(guān)問題。例如您可以在Controller運(yùn)行前指定您想要的資源來(lái)監(jiān)控抵赢,然后你可以看到數(shù)據(jù)庫(kù)中的相關(guān)問題

覆蓋圖和關(guān)聯(lián)圖之間的區(qū)別是什么欺劳?
覆蓋圖:它覆蓋兩個(gè)圖表的內(nèi)容,使共用一個(gè)X軸铅鲤。合并后的圖形左Y軸顯示當(dāng)前圖形中的值杰标,右Y軸顯示合并圖的Y軸的值。關(guān)聯(lián)圖:繪制相互對(duì)立的兩個(gè)圖表的Y軸彩匕∏患粒活動(dòng)圖的Y軸,成為合并后的圖的X軸驼仪。合并圖的Y軸成為合并后的圖的Y軸

你是怎么計(jì)劃負(fù)載的掸犬?標(biāo)準(zhǔn)是什么?
計(jì)劃負(fù)載測(cè)試绪爸,以決定用戶數(shù)量湾碎,我們將使用的機(jī)器型號(hào),在哪里運(yùn)行奠货。它是基于兩個(gè)重要文件介褥,任務(wù)分配圖和事務(wù)狀況。任務(wù)分配圖,給我們提供用戶數(shù)量為一個(gè)特定的業(yè)務(wù)信息和負(fù)載時(shí)間柔滔。從這個(gè)圖決定使用高峰期和不工作時(shí)段溢陪。事務(wù)配置文件,為我們提供了有關(guān)交事務(wù)方面的情況睛廊,包括事務(wù)的名稱和我們決定的它們關(guān)于場(chǎng)景的優(yōu)先等級(jí)形真。

vuser_init動(dòng)作包含什么?
Vuser_init動(dòng)作包含登錄到服務(wù)器的程序

vuser_end動(dòng)作包含什么超全?
Vuser_end部分包含注銷的程序咆霜。

什么是Think Time?你如何改變這個(gè)閾值嘶朱?
Think Time是一個(gè)真實(shí)的用戶動(dòng)作之間的等待時(shí)間蛾坯。例如:當(dāng)一個(gè)用戶從服務(wù)器接收數(shù)據(jù)時(shí),用戶可以在響應(yīng)前等待幾秒鐘來(lái)檢查響應(yīng)數(shù)據(jù)疏遏。此延遲就是Think Time脉课。更改這個(gè)閾值:閾值是一個(gè)標(biāo)準(zhǔn)水平,思考時(shí)間低于閾值水平時(shí)將被忽略改览,Vugen不會(huì)生成思考時(shí)間語(yǔ)句下翎。默認(rèn)值是5秒缤言。我們可以在Vugen錄制選項(xiàng)中改變Think Time閾值宝当。

簡(jiǎn)述使用Loadrunner的步驟
制定性能測(cè)試計(jì)劃—>開發(fā)測(cè)試腳本—>設(shè)計(jì)測(cè)試場(chǎng)景—>執(zhí)行測(cè)試場(chǎng)景—>監(jiān)控測(cè)試場(chǎng)景—>分析測(cè)試結(jié)果

什么是集合點(diǎn)?設(shè)置集合點(diǎn)有什么意義胆萧?Loadrunner中設(shè)置集合點(diǎn)的函數(shù)是哪個(gè)庆揩?
在性能測(cè)試過程中,需要模擬大量用戶在同一時(shí)刻跌穗,訪問系統(tǒng)并同時(shí)操作某一任務(wù)订晌,可以通過配置集合點(diǎn)來(lái)實(shí)現(xiàn),多個(gè)用戶同時(shí)進(jìn)行某操作蚌吸;
  集合點(diǎn)可以在服務(wù)器上創(chuàng)建密集的用戶負(fù)載锈拨,使LoadRunner能夠測(cè)試服務(wù)器在負(fù)載狀態(tài)下的性能。
  設(shè)置集合點(diǎn)函數(shù):lr_rendezvous(“Meeting”)羹唠; // Meeting是集合點(diǎn)名稱

請(qǐng)解釋一下如何錄制web腳本奕枢?
請(qǐng)解釋一下自動(dòng)關(guān)聯(lián)和手動(dòng)關(guān)聯(lián)的不同。
哪個(gè)函數(shù)是用來(lái)截取虛擬用戶腳本中的動(dòng)態(tài)值佩微?(手工關(guān)聯(lián))
Web_reg_save_param函數(shù)主要根據(jù)需要做關(guān)聯(lián)的動(dòng)態(tài)數(shù)據(jù)前面和后面的固定字符串來(lái)識(shí)別缝彬、提取動(dòng)態(tài)數(shù)據(jù),所以在做關(guān)聯(lián)時(shí)哺眯,需要找出動(dòng)態(tài)數(shù)據(jù)的左谷浅、右邊界字符串。
  1.函數(shù)原型:
  int web_reg_save_param (const char *ParamName, , LAST);
  2.參數(shù)說明:
  ParamNam:存放動(dòng)態(tài)數(shù)據(jù)的參數(shù)名稱
  List of Attributes:其它屬性,包含Notfound一疯、LB撼玄、RB、RelFrameID违施、Search互纯、ORD、SaveOffset磕蒲、Convert留潦、SaveLen。

你何在負(fù)載測(cè)試模式下執(zhí)行功能測(cè)試辣往?
在負(fù)載測(cè)試模式下兔院,可以通過同時(shí)運(yùn)行數(shù)個(gè)虛擬用戶,通過增加虛擬用戶數(shù)站削,確定服務(wù)器在多大的負(fù)載量下坊萝,仍然可以正常運(yùn)行,我一般進(jìn)行核心功能操作许起,驗(yàn)證核心功能運(yùn)行是否正常十偶。

什么是逐步遞增?你如何來(lái)設(shè)置园细?
虛擬用戶數(shù)隨著負(fù)載時(shí)間逐漸增加惦积,可以幫助確定系統(tǒng)響應(yīng)時(shí)間減慢的準(zhǔn)確時(shí)間點(diǎn)。
  可以在“加壓”選項(xiàng)卡中進(jìn)行設(shè)置:如下圖所示猛频,將設(shè)置更改為:“每 30 秒啟動(dòng) 2 個(gè) Vuser”

當(dāng)你需要在出錯(cuò)時(shí)停止執(zhí)行腳本狮崩,你怎么做?
響應(yīng)時(shí)間和吞吐量之間的關(guān)系是什么鹿寻?
當(dāng)系統(tǒng)吞吐量未達(dá)到系統(tǒng)處理極限時(shí)睦柴,系統(tǒng)性能不會(huì)衰減,交易平均響應(yīng)時(shí)間一般也不會(huì)遞增毡熏,當(dāng)系統(tǒng)達(dá)到吞吐量極限時(shí)坦敌,客戶端交易會(huì)在請(qǐng)求隊(duì)列中排隊(duì)等待,等待的時(shí)間會(huì)記錄在響應(yīng)時(shí)間中痢法,故交易平均響應(yīng)時(shí)間一般會(huì)遞增狱窘。

說明一下如何在LR中配置系統(tǒng)計(jì)數(shù)器?
以windows資源監(jiān)控為例疯暑,可右鍵點(diǎn)“添加度量”训柴,輸入系統(tǒng)IP、選擇平臺(tái)類型妇拯,確定即可幻馁,詳細(xì)參加LR自帶操作手冊(cè)_洗鸵。
  對(duì)于監(jiān)控不同類型的操作系統(tǒng),需要做一些準(zhǔn)備工作仗嗦,可參見監(jiān)控操作系統(tǒng)資源部分膘滨。

.如果web服務(wù)器、數(shù)據(jù)庫(kù)以及網(wǎng)絡(luò)都正常稀拐,問題會(huì)出在哪里火邓?
如何發(fā)現(xiàn)web服務(wù)器的相關(guān)問題?
.如何發(fā)現(xiàn)數(shù)據(jù)庫(kù)的相關(guān)問題德撬?
解釋所有web錄制配置铲咨?
你如何設(shè)計(jì)負(fù)載?標(biāo)準(zhǔn)是什么?
什么是吞吐量蜓洪?
在LoadRunner中為什么要設(shè)置思考時(shí)間和pacing
錄制時(shí)記錄的是客戶端和服務(wù)端的交互纤勒,如果要精確模擬 用戶的行為,那么客戶操作客戶端時(shí)花費(fèi)了很多時(shí)間要怎么模擬呢?

錄入 填寫提交的內(nèi)容隆檀,從列表中下拉搜索選擇特定的值等摇天,這時(shí)LOADRUNNER 不會(huì)記錄用戶 的客戶端操作,而是記錄了用戶這段

時(shí)間恐仑,成為思考時(shí)間(Think-time)泉坐,因?yàn)橛脩舻倪@些客戶端操作不會(huì)影響服務(wù)端,只是讓服務(wù)器端在這段時(shí)間內(nèi)沒有請(qǐng)求而已裳仆。腕让,所

以加入思考時(shí)間就能模擬出熟練的或者生疏的用戶操作,接近實(shí)際對(duì)于服務(wù)端的壓力鉴逞。

Vuser 思考時(shí)間模擬實(shí)際用戶在不同操作之間等待的時(shí)間记某。例如司训,當(dāng)用戶收到來(lái)自服務(wù)器的數(shù)據(jù)時(shí)构捡,可能要等待幾秒鐘查看數(shù)

據(jù),然后再做出響應(yīng)壳猜。這種延遲就稱為“思考時(shí)間”勾徽。VuGen 使用 lr_think_time 函數(shù)將思考時(shí)間值錄制到 Vuser 腳本中。以下錄

制的函 數(shù)指明用戶等待了 8 秒鐘才執(zhí)行下一個(gè)操作:

lr_think_time(8);

當(dāng)您運(yùn)行了 Vuser 腳本并且 Vuser 遇到了上述 lr_think_time 語(yǔ)句時(shí)统扳,默認(rèn)情況下喘帚,Vuser 將等待 8 秒鐘后再執(zhí)行下一個(gè)操作≈渲樱可

以使用思考時(shí)間運(yùn)行時(shí)設(shè)置來(lái)影響運(yùn)行腳本時(shí) Vuser 使用錄制思考時(shí)間的方式吹由。

如何理解TPS?

TPS主要還是體現(xiàn)服務(wù)器對(duì)當(dāng)前錄制的事務(wù)的處理速度快慢。TPS高并不代表性能好朱嘴。

TPS 是Transactions Per Second 的 縮 寫倾鲫,也就是事務(wù)數(shù)/ 秒粗合。它是軟件測(cè)試結(jié)果的測(cè)量單位。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服

務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過程乌昔∠毒危客戶機(jī)在發(fā)送請(qǐng)求時(shí)開始計(jì)時(shí),收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí)磕道,以此來(lái)計(jì)算使用的時(shí)

間和完成的事務(wù)個(gè)數(shù)供屉,最終利用這些信息來(lái)估計(jì)得分∧缃叮客戶機(jī)使用加權(quán)協(xié)函數(shù)平均方法來(lái)計(jì)算客戶機(jī)的得分伶丐,試軟件就是利用

客戶機(jī)的這些信息使用加權(quán)協(xié)函 數(shù)平均方法來(lái)計(jì)算服務(wù)器端的整體TPS得分。

loadrunner中的設(shè)置線程和進(jìn)程的區(qū)別
loadrunner中疯特,在進(jìn)行運(yùn)行設(shè)置中有一項(xiàng)選擇撵割,是按進(jìn)程運(yùn)行Vuser或按線程運(yùn)行Vuser?下面進(jìn)行分別來(lái)講:

1.按進(jìn)程運(yùn)行Vuser:Controller將使用驅(qū)動(dòng)程序mdrv運(yùn)行Vuser。如果按進(jìn)程方式運(yùn)行每個(gè)Vuser辙芍,則對(duì)于每個(gè)Vuser實(shí)例啡彬,都將啟動(dòng)一個(gè)mdrv進(jìn)程。如果設(shè)置了10個(gè)Vuser故硅,則在任務(wù)管理器中出現(xiàn)10個(gè)mdrv進(jìn)程庶灿。多個(gè)mdrv進(jìn)程肯定會(huì)占用大量?jī)?nèi)存及其他系統(tǒng)資源,這就限制了可以在任一負(fù)載生成器上運(yùn)行的Vuser的數(shù)量吃衅。

2.按線程運(yùn)行Vuser:及設(shè)置了10個(gè)Vuser往踢,其只會(huì)調(diào)用一個(gè)驅(qū)動(dòng)程序mdrv.而每個(gè)Vuser都按線程運(yùn)行,這些線程Vuser將共享父進(jìn)程的內(nèi)存段徘层。這就節(jié)省了大量?jī)?nèi)存控件峻呕,從而可以在一個(gè)負(fù)載生成器上運(yùn)行更多的Vuser。

任何選擇都是有兩面性的趣效。選擇線程方式運(yùn)行Vuser會(huì)帶來(lái)一些安全問題瘦癌。因?yàn)榫€程的資源是從進(jìn)程資源中分配出來(lái)的,因此同一個(gè)進(jìn)程中的多個(gè)線程會(huì)有共享的內(nèi)存空間跷敬,這樣可能會(huì)引起多個(gè)線程的同步問題讯私,調(diào)度不好,就會(huì)出問題西傀,不如A線程要用的資源就必須等待B線程釋放斤寇,而B也在等待其他資源釋放才能繼續(xù)。這就會(huì)出現(xiàn)這樣的問題:同一個(gè)測(cè)試場(chǎng)景拥褂,用線程并發(fā)就會(huì)超時(shí)失敗或報(bào)錯(cuò)娘锁,而用進(jìn)程并發(fā)就沒錯(cuò)。

雖然會(huì)有區(qū)別饺鹃,但兩種方式的運(yùn)行都會(huì)給服務(wù)端造成的壓力是一樣的莫秆。

loadrunner如何遍歷一個(gè)頁(yè)面中的url并進(jìn)行訪問碎税?
HTML-Based scrīpt 和URL-Based scrīpt 錄制的區(qū)別?
基于瀏覽器的應(yīng)用程序推薦使用HTML-Based scrīpt馏锡。

不是基于瀏覽器的應(yīng)用程序推薦使用URL-Based scrīpt雷蹂。

如果基于瀏覽器的應(yīng)用程序中包含了Java scrīpt并且該腳本 向服務(wù)器產(chǎn)生了請(qǐng)求,比如DataGrid的分頁(yè)按鈕等杯道,也要使用URL-Based scrīpt方式錄制匪煌。

基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-Based scrīpt方式錄制党巾。

錄制過程中不要使用瀏覽器的“后退”功能萎庭,LoadRunner對(duì)其支持不太好。

本次通過loadRunner錄制SQL Server介紹一下如何測(cè)試一個(gè)sql語(yǔ)句或存儲(chǔ)過程的執(zhí)行性能齿拂。
主要分如下幾個(gè)步驟完成:

第一步驳规、測(cè)試準(zhǔn)備

第二步、配置ODBC數(shù)據(jù)源

第三步署海、錄制SQL語(yǔ)句在Sql Server查詢分析器中的運(yùn)行過程

第四步吗购、優(yōu)化錄制腳本,設(shè)置事務(wù)

第五步砸狞、改變查詢數(shù)量級(jí)查看SQL語(yǔ)句的性能

第六步捻勉、在controller中運(yùn)行腳本

LoadRunner如何創(chuàng)建腳本?
啟動(dòng)VuGen:選擇需要新建的協(xié)議腳本刀森,可以創(chuàng)建單協(xié)議踱启,或是多協(xié)議腳本

  1. 點(diǎn)擊Start Record按鈕,輸入程序地址研底,開始進(jìn)行錄制

  2. 使用VuGen進(jìn)行錄制:創(chuàng)建的每個(gè) Vuser 腳本都至少包含三部分:vuser_init埠偿、一個(gè)或多個(gè) Actions 及vuser_end。錄制期間榜晦,可以選擇腳本中 VuGen 要插入已錄制函數(shù)的部分冠蒋。運(yùn)行多次迭代的Vuser 腳本時(shí),只有腳本的Actions部分重復(fù)芽隆,而vuser_init和vuser_end部分將不重復(fù)

LoadRunner如何設(shè)置Recording Options 選項(xiàng)浊服?(以單協(xié)議http/html為例)
1.菜單tools->Recording Options進(jìn)入錄制的設(shè)置窗體

2.Recording標(biāo)簽頁(yè):選用哪種錄制方式

3.Browser標(biāo)簽頁(yè):瀏覽器的選擇

4.Recording Proxy 標(biāo)簽頁(yè):瀏覽器上的代理設(shè)置

5.Advanced 標(biāo)簽頁(yè):可以設(shè)置錄制時(shí)的think time统屈,支持的字符集標(biāo)準(zhǔn)等

6.Correlation標(biāo)簽頁(yè):手工設(shè)置關(guān)聯(lián)胚吁,通過關(guān)聯(lián)可在測(cè)試執(zhí)行過程中保存動(dòng)態(tài)值。使用這些設(shè)置可以配置 VuGen 在錄制過程中執(zhí)行的自動(dòng)關(guān)聯(lián)的程度愁憔。

LoadRunner如何選擇協(xié)議腕扶?
LoadRunner屬于應(yīng)用在客戶端的測(cè)試工具,在客戶端模擬大量并發(fā)用戶去訪問服務(wù)器吨掌,從而達(dá)到給服務(wù)器施加壓力的目的半抱。所以說LoadRunner模擬的就是客戶端脓恕,其腳本代表的是客戶端用戶所進(jìn)行的業(yè)務(wù)操作,即只要腳本能表示用戶的業(yè)務(wù)操作就可以窿侈。

1.LR支持多種協(xié)議炼幔,請(qǐng)大家一定要注意,這個(gè)地方協(xié)議指的是你的Client端通過什么協(xié)議訪問的Server史简,Client一般是面向最終使用者的乃秀,Server是第一層Server端,因?yàn)楝F(xiàn)在的體系架構(gòu)中經(jīng)常Server層也分多個(gè)層次圆兵,什么應(yīng)用層跺讯,什么數(shù)據(jù)層等等,LR只管Client如何訪問第一層Server.

2.特別要注意某些應(yīng)用殉农,例如一個(gè)Web系統(tǒng)刀脏,這個(gè)系統(tǒng)是通過ActiveX控件來(lái)訪問后臺(tái)的,IE只是一個(gè)容器超凳,而ActiveX控件訪問后臺(tái)是通過COM/DCOM協(xié)議的愈污,這種情況就不能使用Web協(xié)議,否則你什么也錄制不到轮傍,所以钙畔,LR工程師一定要了解應(yīng)用程序的架構(gòu)和使用的技術(shù)。   3. 象HTTPS金麸,一般來(lái)講一定要選擇多協(xié)議擎析,但在選擇具體協(xié)議的時(shí)候一定只選Web協(xié)議,這時(shí)候才能作那個(gè)端口映射挥下。

n通常協(xié)議選擇

1.對(duì)于常見的B/S系統(tǒng)揍魂,選擇Web(Http/Html)

2.測(cè)一個(gè)C/S系統(tǒng),根據(jù)C/S結(jié)構(gòu)所用到的后臺(tái)數(shù)據(jù)庫(kù)來(lái)選擇不同的協(xié)議棚瘟,如果后臺(tái)數(shù)據(jù)庫(kù)是sybase现斋,則采用sybaseCTlib協(xié)議,如果是SQL server,則使用MS SQL server的協(xié)議偎蘸,至于oracle 數(shù)據(jù)庫(kù)系統(tǒng)庄蹋,當(dāng)然就使用Oracle 2-tier協(xié)議。

3.對(duì)于沒有數(shù)據(jù)庫(kù)的C/S(ftp,smtp)這些可以選擇Windwos Sockets協(xié)議迷雪。

4.至于其他的ERP限书,EJB(需要ejbdetector.jar),選擇相應(yīng)的協(xié)議即可.

  1. 一般可以使用Java vuser協(xié)議錄制由java編寫的C/S模式的軟件, ,當(dāng)其他協(xié)議都沒有用時(shí),只能使用winsocket協(xié)議

Loadrunner支持哪些常用協(xié)議章咧?
Web(HTTP/HTML)

Sockets

.net 協(xié)議

web services

常用數(shù)據(jù)庫(kù)協(xié)議(ODBC倦西,ORACLE,SQLSERVER 等)

郵件(SMTP赁严、pop3)

其它協(xié)議

性能測(cè)試的類型都有哪些扰柠?
負(fù)載測(cè)試(Load Test)

通過逐步增加系統(tǒng)負(fù)載粉铐,測(cè)試系統(tǒng)性能的變化,并最終確定在滿足性能指標(biāo)的情況下卤档,系統(tǒng)所能承受的最大負(fù)載量的測(cè)試蝙泼。

壓力測(cè)試(Stress Test)

通過逐步增加系統(tǒng)負(fù)載,測(cè)試系統(tǒng)性能的變化劝枣,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài)踱承,并以此來(lái)獲得系統(tǒng)能夠提供的最大服務(wù)級(jí)別的測(cè)試。

壓力測(cè)試是一種特定類型的負(fù)載測(cè)試哨免。

疲勞強(qiáng)度測(cè)試

通常是采用系統(tǒng)穩(wěn)定運(yùn)行情況下能夠支持的最大并發(fā)用戶數(shù)或者日常運(yùn)行用戶數(shù)茎活,持續(xù)執(zhí)行一段時(shí)間業(yè)務(wù),通過綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來(lái)確定系統(tǒng)處理最大工作量強(qiáng)度性能的過程琢唾。

疲勞強(qiáng)度測(cè)試可以反映出系統(tǒng)的性能問題载荔,例如內(nèi)存泄漏等。

大容量測(cè)試(Volume Test)

對(duì)特定存儲(chǔ)采桃、傳輸懒熙、統(tǒng)計(jì)、查詢業(yè)務(wù)的測(cè)試普办。

Loadrunner常用的分析點(diǎn)都有哪些工扎?
Vusers:

提供了生產(chǎn)負(fù)載的虛擬用戶運(yùn)行狀態(tài)的相關(guān)信息,可以幫助我們了解負(fù)載生成的結(jié)果衔蹲。

Rendezvous(負(fù)載過程中集合點(diǎn)下的虛擬用戶):

當(dāng)設(shè)置集合點(diǎn)后會(huì)生成相關(guān)數(shù)據(jù)肢娘,反映了隨著時(shí)間的推移各個(gè)時(shí)間點(diǎn)上并發(fā)用戶的數(shù)目,方便我們了解并發(fā)用戶的變化情況舆驶。

Errors(錯(cuò)誤統(tǒng)計(jì)):

通過錯(cuò)誤信息可以了解錯(cuò)誤產(chǎn)生的時(shí)間和錯(cuò)誤類型橱健,方便定位產(chǎn)生錯(cuò)誤的原因辐棒。

Errors per Second(每秒錯(cuò)誤):

了解在每個(gè)時(shí)間點(diǎn)上錯(cuò)誤產(chǎn)生的數(shù)目女淑,數(shù)值越小越好。通過統(tǒng)計(jì)數(shù)據(jù)可以了解錯(cuò)誤隨負(fù)載的變化情況接剩,定為何時(shí)系統(tǒng)在負(fù)載下開始不穩(wěn)定甚至出錯(cuò)撬陵。

Average Transaction Response Time(平均事務(wù)響應(yīng)時(shí)間):

反映隨著時(shí)間的變化事務(wù)響應(yīng)時(shí)間的變化情況珊皿,時(shí)間越小說明處理的速度越快。如果和用戶負(fù)載生成圖合并巨税,就可以發(fā)現(xiàn)用戶負(fù)載增加對(duì)系統(tǒng)事務(wù)響應(yīng)時(shí)間的影響規(guī)律蟋定。

Transactions per Second(每秒事務(wù)):

TPS吞吐量,反映了系統(tǒng)在同一時(shí)間內(nèi)能處理事務(wù)的最大能力垢夹,這個(gè)數(shù)據(jù)越高溢吻,說明系統(tǒng)處理能力越強(qiáng)。

Transactions Summary(事務(wù)概要說明)

統(tǒng)計(jì)事物的Pass數(shù)和Fail數(shù)果元,了解負(fù)載的事務(wù)完成情況促王。通過的事務(wù)數(shù)越多,說明系統(tǒng)的處理能力越強(qiáng)而晒;失敗的事務(wù)數(shù)越小說明系統(tǒng)越可靠蝇狼。

Transaction performance Summary(事務(wù)性能概要):

事務(wù)的平均時(shí)間、最大時(shí)間倡怎、最小時(shí)間柱狀圖迅耘,方便分析事務(wù)響應(yīng)時(shí)間的情況。柱狀圖的落差越小說明響應(yīng)時(shí)間的波動(dòng)小监署,如果落差很大颤专,說明系統(tǒng)不夠穩(wěn)定。

Transaction Response Time Under Load(用戶負(fù)載下事務(wù)響應(yīng)時(shí)間):

負(fù)載用戶增長(zhǎng)的過程中響應(yīng)時(shí)間的變化情況钠乏,該圖的線條越平穩(wěn)栖秕,說明系統(tǒng)越穩(wěn)定。

Transactions Response time(事務(wù)響應(yīng)時(shí)間百分比):

不同百分比下的事務(wù)響應(yīng)時(shí)間范圍晓避,可以了解有多少比例的事物發(fā)生在某個(gè)時(shí)間內(nèi)簇捍,也可以發(fā)現(xiàn)響應(yīng)時(shí)間的分布規(guī)律,數(shù)據(jù)越平穩(wěn)說明響應(yīng)時(shí)間變化越小俏拱。

Transaction Response Time(各時(shí)間段上的事務(wù)數(shù)):

每個(gè)時(shí)間段上的事務(wù)個(gè)數(shù)暑塑,響應(yīng)時(shí)間較小的分類下的是無(wú)數(shù)越多越好。

Hits per Second(每秒點(diǎn)擊):

當(dāng)前負(fù)載重對(duì)系統(tǒng)所產(chǎn)生的點(diǎn)擊量記錄锅必,每一次點(diǎn)擊相當(dāng)于對(duì)服務(wù)器發(fā)出了一次請(qǐng)求事格,數(shù)據(jù)越大越好。

Throughput(吞吐量):

系統(tǒng)負(fù)載下所使用的帶寬搞隐,該數(shù)據(jù)越小說明系統(tǒng)的帶寬依賴就越小分蓖,通過這個(gè)數(shù)據(jù)可以確定是不是網(wǎng)絡(luò)出現(xiàn)了瓶頸。

HTTP Responses per Second(每秒HTTP響應(yīng)):

每秒服務(wù)器返回各種狀態(tài)的數(shù)目尔许,一般和每秒點(diǎn)擊量相同么鹤。點(diǎn)擊量是客戶端發(fā)出的請(qǐng)求數(shù),而HTTP響應(yīng)數(shù)是服務(wù)器返回的響應(yīng)數(shù)味廊。如果服務(wù)器的響應(yīng)數(shù)小于點(diǎn)擊量蒸甜,那么說明服務(wù)器無(wú)法應(yīng)答超出負(fù)載的連接請(qǐng)求。

Connections per Second(每秒連接):

統(tǒng)計(jì)終端的連接和新建的連接數(shù)余佛,方便了解每秒對(duì)服務(wù)器產(chǎn)生連接的數(shù)量柠新。同時(shí)連接數(shù)越多,說明服務(wù)器的連接池越大辉巡,當(dāng)連接數(shù)隨著負(fù)載上升而停止時(shí)恨憎,說明系統(tǒng)的連接池已滿,通常這時(shí)候服務(wù)器會(huì)返回504錯(cuò)誤。需要修改服務(wù)器的最大連接來(lái)解決該問題憔恳。

LoadRunner不執(zhí)行檢查方法怎么解決瓤荔?

在錄制Web協(xié)議腳本中添加了檢查方法Web_find,但是在腳本回放的過程中并沒有執(zhí)行钥组。

錯(cuò)誤現(xiàn)象:在腳本中插入函數(shù)Web_find输硝,在腳本中設(shè)置文本以及圖像的檢查點(diǎn),但是在回放過程中并沒有對(duì)設(shè)置的檢查點(diǎn)進(jìn)行檢查程梦,即Web_find失效点把。

錯(cuò)誤分析:由于檢查功能會(huì)消耗一定的資源,因此LoadRunner默認(rèn)關(guān)閉了對(duì)文本以及圖像的檢查屿附,所以在設(shè)置檢查點(diǎn)后郎逃,需要開啟檢查功能。

解決辦法:打開運(yùn)行環(huán)境設(shè)置對(duì)話框進(jìn)行設(shè)置挺份,在“Run-time Settings”的“Internet Protocol”選項(xiàng)里的“Perference”中勾選“Check”下的“Enable Image and text check”選項(xiàng)褒翰。

并發(fā)用戶數(shù)是什么?跟在線用戶數(shù)什么關(guān)系压恒?
并發(fā)主要是針對(duì)服務(wù)器而言影暴,是否并發(fā)的關(guān)鍵是看用戶操作是否對(duì)服務(wù)器產(chǎn)生了影響。因此探赫,并發(fā)用戶數(shù)量的正確理解為:在同一時(shí)刻與服務(wù)器進(jìn)行了交互的在線用戶數(shù)量型宙,這種交互既可以是單向的傳輸數(shù)據(jù),也可以是雙向的傳送數(shù)據(jù)伦吠。

  并發(fā)用戶數(shù)是指系統(tǒng)運(yùn)行期間同一時(shí)刻進(jìn)行業(yè)務(wù)操作的用戶數(shù)量妆兑。

  該數(shù)量取決于用戶操作習(xí)慣、業(yè)務(wù)操作間隔和單筆交易的響應(yīng)時(shí)間毛仪。

  使用頻率較低的應(yīng)用系統(tǒng)并發(fā)用戶數(shù)一般為在線用戶數(shù)的5%左右搁嗓。

  使用頻率較高的應(yīng)用系統(tǒng)并發(fā)用戶數(shù)一般為主線用戶數(shù)的10%左右

LoadRunner請(qǐng)求無(wú)法找到如何解決?
在錄制Web協(xié)議腳本回放腳本的過程中箱靴,會(huì)出現(xiàn)請(qǐng)求無(wú)法找到的現(xiàn)象腺逛,而導(dǎo)致腳本運(yùn)行停止。

錯(cuò)誤現(xiàn)象:Action.c(41): Error -27979: Requested form. not found [MsgId: MERR-27979]

Action.c(41): web_submit_form. highest severity level was “ERROR”,0 body bytes, 0 header bytes [MsgId: MMSG-27178]”

這時(shí)在tree view中看不到此組件的相關(guān)URL衡怀。

錯(cuò)誤分析:所選擇的錄制腳本模式不正確棍矛,通常情況下,基于瀏覽器的Web應(yīng)用會(huì)使用“HTML-based script”模式來(lái)錄制腳本抛杨;而沒有基于瀏覽器的Web應(yīng)用够委、Web應(yīng)用中包含了與服務(wù)器進(jìn)行交互的Java Applet、基于瀏覽器的應(yīng)用中包含了向服務(wù)器進(jìn)行通信的JavaScript/VBScript代碼怖现、基于瀏覽器的應(yīng)用中使用HTTPS安全協(xié)議茁帽,這時(shí)則使用“URL-based script”模式進(jìn)行錄制。

解決辦法:打開錄制選項(xiàng)配置對(duì)話框進(jìn)行設(shè)置,在“Recording Options”的“Internet Protocol”選項(xiàng)里的“Recording”中選擇“Recording Level”為“HTML-based script”潘拨,單擊“HTML Advanced”吊输,選擇“Script. Type”為“A script. containing explicit”。然后再選擇使用“URL-based script”模式來(lái)錄制腳本战秋。

LoadRunner HTTP服務(wù)器狀態(tài)代碼都有哪些璧亚?如何解決讨韭?
在錄制Web協(xié)議腳本回放腳本的過程中脂信,會(huì)出現(xiàn)HTTP服務(wù)器狀態(tài)代碼,例如常見的頁(yè)面-404錯(cuò)誤提示透硝、-500錯(cuò)誤提示狰闪。

錯(cuò)誤現(xiàn)象1:-404 Not Found服務(wù)器沒有找到與請(qǐng)求URI相符的資源,但還可以繼續(xù)運(yùn)行直到結(jié)束濒生。

錯(cuò)誤分析:此處與請(qǐng)求URI相符的資源在錄制腳本時(shí)已經(jīng)被提交過一次埋泵,回放時(shí)不可再重復(fù)提交同樣的資源,而需要更改提交資源的內(nèi)容罪治,每次回放一次腳本都要改變提交的數(shù)據(jù)丽声,保證模擬實(shí)際環(huán)境,造成一定的負(fù)載壓力觉义。

解決辦法:在出現(xiàn)錯(cuò)誤的位置進(jìn)行腳本關(guān)聯(lián)雁社,在必要時(shí)插入相應(yīng)的函數(shù)。

錯(cuò)誤現(xiàn)象2:-500 Internal Server Error服務(wù)器內(nèi)部錯(cuò)誤晒骇,腳本運(yùn)行停止霉撵。

錯(cuò)誤分析:服務(wù)器碰到了意外情況,使其無(wú)法繼續(xù)回應(yīng)請(qǐng)求洪囤。

解決辦法:出現(xiàn)此錯(cuò)誤是致命的徒坡,說明問題很嚴(yán)重,需要從問題的出現(xiàn)位置進(jìn)行檢查瘤缩,此時(shí)需要此程序的開發(fā)人員配合來(lái)解決喇完,而且產(chǎn)生的原因根據(jù)實(shí)際情況來(lái)定,測(cè)試人員無(wú)法單獨(dú)解決問題剥啤,而且應(yīng)該盡快解決锦溪,以便于后面的測(cè)試

HTTP的超時(shí)有哪三種?
HTTP-request connect timeout铐殃、HTTP-request receive timeout海洼、step download timeout

在什么地方設(shè)置HTTP頁(yè)面filter?
在runtime_settings中download filter里面進(jìn)行設(shè)置。

如何設(shè)置可以讓一個(gè)虛擬IP對(duì)應(yīng)到一個(gè)Vuser?
利用線程和進(jìn)程做中介富腊,邏輯上的對(duì)應(yīng)坏逢。

選中Expert Mode,設(shè)置Options中的General

什么是contentcheck?如何來(lái)用?
ContentCheck的設(shè)置是為了讓VuGen 檢測(cè)何種頁(yè)面為錯(cuò)誤頁(yè)面是整。如果被測(cè)的Web 應(yīng)用沒有使用自定義的錯(cuò)誤頁(yè)面肖揣,那么這里不用作更改;如果被測(cè)的Web 應(yīng)用使用了自定義的錯(cuò)誤頁(yè)面浮入,那么這里需要定義龙优,以便讓VuGen 在運(yùn)行過程中檢測(cè),服務(wù)器返回的頁(yè)面是否包含預(yù)定義的字符串事秀,進(jìn)而判斷該頁(yè)面是否為錯(cuò)誤頁(yè)

面彤断。如果是,VuGen就停止運(yùn)行易迹,指示運(yùn)行失敗宰衙。

使用方法:點(diǎn)擊在runtime settings中點(diǎn)擊“contentcheck”,然后新建立一個(gè)符合要求的應(yīng)用程序和規(guī)則睹欲,設(shè)定需要查找的文本和前綴后綴即可使用供炼。

network中的speed simulation是模擬的什么帶寬?
模擬用戶訪問速度的帶寬窘疮。

生成WEB性能圖有什么意義袋哼?大概描述即可。
可以很直觀的看到闸衫,在負(fù)載下系統(tǒng)的運(yùn)行情況以及各種資源的使用情況涛贯,可以對(duì)系統(tǒng)的性能瓶頸定位、性

能調(diào)優(yōu)等起到想要的輔助作用楚堤。

WAN emulation是模擬什么的疫蔓?
可以很直觀的看到,在負(fù)載下系統(tǒng)的運(yùn)行情況以及各種資源的使用情況身冬,可以對(duì)系統(tǒng)的性能瓶頸定位衅胀、性

能調(diào)優(yōu)等起到想要的輔助作用。

如何設(shè)置才能讓集合點(diǎn)只對(duì)一半的用戶生效酥筝?
在設(shè)置windows資源圖監(jiān)控的時(shí)候滚躯,用到的是什么端口和協(xié)議?在這一過程中嘿歌,會(huì)有大概哪些問題掸掏?(大概描述)
microsoft-ds :445 ;要有權(quán)限宙帝、開啟服務(wù)丧凤。樹視圖和腳本視圖各有什么優(yōu)點(diǎn)?

需要關(guān)聯(lián)的數(shù)據(jù)怎么確定步脓?

樹視圖和腳本視圖各有什么優(yōu)點(diǎn)愿待?
Tree View的好處是使用戶更方便地修改腳本浩螺,Tree View支持拖拽,用戶可以把任意一個(gè)節(jié)點(diǎn)拖拽到他想

要的地方仍侥,從而達(dá)到修改腳本的目的要出。用戶可以右鍵單擊節(jié)點(diǎn),進(jìn)行修改/刪除當(dāng)前函數(shù)參數(shù)屬性农渊,增加函

數(shù)等操作患蹂,通過Tree View能夠增加LoadRunner提供的部分常用通用函數(shù)和協(xié)議相關(guān)函數(shù)。

Script View適合一些高級(jí)用戶砸紊,在Script View中能夠看到一行行的API函數(shù)传于,通過Script View向腳本中增加一些其他API函數(shù),對(duì)會(huì)編程的高手來(lái)說很方便

LR中的API分為幾類批糟?
A:通用的API:格了,就是跟具體的協(xié)議無(wú)關(guān)看铆,在任何協(xié)議的腳本里都能用的徽鼎;

B:針對(duì)協(xié)議的:像lrs前綴是winsock的;lrd的是針對(duì)database;

C:自定義的:這個(gè)范圍就比較廣了弹惦;

解釋以下函數(shù)及他們的不同之處否淤。
Lr_debug_message

Lr_output_message

Lr_error_message

Lrd_stmt

Lrd_fetch

二、選擇題(2*5=10分)

During the run of a scenario, which LoadRunner component stores the performance monitoring data?B
A. Analysis B. Controller C. File server D. Load generator/host

Where are the results stored during the run of a scenario?D
A. Analysis B. Controller C. Utility server D. Load generator

A script was recorded with an average think time for an advanced user. An advanced user pauses 5 seconds between clicks. A first-time user pauses an average of 10 seconds between clicks. How can you modify the think time run-time settings to emulate a first-time user?C
A. Set the think time to s recorded
B. Set the think time to multiply the recorded think time by 4
C. Set the think time to a random percentage between 150% - 250%
D. Set the think time to replay as recorded, but limit the think time to 10 seconds
Which HTTP error code indicates that an individual business process is failing under load or the web application itself has crashed?D
200 B. 403 C. 401 D. 500
What is an intersection point in a business process?B
A. Scenario B. Rendezvous C. Transaction D. Service level agreement

三棠隐、LoadRunner工具使用題:(10*2=20分)

web系統(tǒng)中石抡,username參數(shù)表為file類型,表中有12個(gè)值助泽,分別A啰扛、B、C嗡贺、D隐解、E、F诫睬、G煞茫、H、I摄凡、J续徽、K、L亲澡。測(cè)試場(chǎng)景中虛擬并發(fā)用戶數(shù)設(shè)為4钦扭,迭代次數(shù)設(shè)為3,參數(shù)中Select next row與Update value on分別為(Sequential, Each Iteration)與(Unique, Once)時(shí)床绪,寫出迭代3次的取值情況客情。
(Select next row捎琐, Update value on) 虛擬用戶取值(VUi:迭代時(shí)取值)

(Sequential, Each Iteration)

VU1:

VU2:

VU3:

VU4:

(Unique裹匙, Once)

VU1:

VU2:

VU3:

VU4:

web系統(tǒng)腳本錄制過程中瑞凑,兩次錄制同一功能點(diǎn),在View Tree的Server Response中產(chǎn)生的字符串分別為:
Server Response:name="_id_Node " value=" RSDP0013425" />", ENDITEM,

Server Response:name="_id_Node " value=" RSDP1203655" />", ENDITEM,

為腳本回放成功概页,需要對(duì)字符串中某些字符做一定處理籽御,寫出詳細(xì)實(shí)現(xiàn)方法。

四惰匙、 英文面試題

  1. What is load testing?

  2. What is Performance testing?

  3. Did u use LoadRunner?

  4. Explain the Load testing process?

  5. When do you do load and performance Testing?

  6. What are the components of LoadRunner?

  7. What Component of LoadRunner would you use to record a Script?

  8. What Component of LoadRunner would you use to play Back the script in multi user mode?

  9. What is a rendezvous point?

  10. What is a scenario?

  11. Explain the recording mode for web Vuser script?

  12. Why do you create parameters?

  13. What is correlation?

  14. How do you find out where correlation is required?

  15. Where do you set automatic correlation options?

  16. What is a function to capture dynamic values in the web Vuser script?

  17. When do you disable log in Virtual User Generator, When do you choose standard and extended logs?

  18. How do you debug a LoadRunner script?

  19. How do you write user defined functions in LR?

  20. What are the changes you can make in run-time settings?

  21. Where do you set Iteration for Vuser testing?

  22. How do you perform functional testing under load?

  23. What is Ramp up? How do you set this?

  24. What is the advantage of running the Vuser as thread?

  25. If you want to stop the execution of your script on error, how do you do that?

  26. What is the relation between Response Time and Throughput?

  27. Explain the Configuration of your systems?

  28. How do you identify the performance bottlenecks?

  29. If web server, database and Network are all fine where could be the problem?

  30. How did you find web server related issues?

  31. How did you find database related issues?

五.項(xiàng)目分析題

(試題一)閱讀下列說明技掏,回答問題1 至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)项鬼。
【說明】軟件系統(tǒng)性能調(diào)優(yōu)的關(guān)鍵是首先作好性能故障定位哑梳,面對(duì)軟件系統(tǒng)中運(yùn)行在不同平臺(tái)上的多個(gè)服務(wù)器、多種應(yīng)用绘盟、大量工作站以及局域網(wǎng)鸠真、廣域網(wǎng)和其他類型的網(wǎng)絡(luò)體系結(jié)構(gòu),故障點(diǎn)交錯(cuò)龄毡,故障定位測(cè)試非常復(fù)雜吠卷。下述是《工作流平臺(tái)系統(tǒng)》的性能測(cè)試案例描述及結(jié)果數(shù)據(jù):
  ● 測(cè)試案例描述:模擬多用戶登錄《工作流平臺(tái)系統(tǒng)》,針對(duì)工作流A沦零、B祭隔、C 分別連續(xù)創(chuàng)建20 個(gè)實(shí)例,在單機(jī)和集群運(yùn)行環(huán)境下分別對(duì)系統(tǒng)進(jìn)行負(fù)載壓力性能測(cè)試路操。單機(jī)環(huán)境下測(cè)試用機(jī)與一臺(tái)應(yīng)用服務(wù)器連在同一交換機(jī)上疾渴,壓力直接加在一臺(tái)應(yīng)用服務(wù)器上。集群環(huán)境下測(cè)試用機(jī)與服務(wù)器集群連接在同一交換機(jī)上屯仗,壓力由負(fù)載均衡模塊分?jǐn)偟絺z臺(tái)應(yīng)用服務(wù)器上搞坝。在單機(jī)和集群運(yùn)行環(huán)境中應(yīng)用服務(wù)器和一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器連接。
  ● 客戶端交易并發(fā)執(zhí)行測(cè)試數(shù)據(jù):

1 單機(jī)運(yùn)行環(huán)境

測(cè)試
案例

并發(fā)用
戶數(shù)

響應(yīng)時(shí)間(秒)

最大值

平均值

最小值

創(chuàng)建
工作
流A
實(shí)例

120

0.675

0.686

0.03

240

0.756

0.479

0.034

2 集群運(yùn)行環(huán)境

測(cè)試
案例

并發(fā)用
戶數(shù)

響應(yīng)時(shí)間(秒)

最大值

平均值

最小值

創(chuàng)建
工作
流A
實(shí)例

120

0.113

0.088

0.01

240

0.103

0.117

0.01

● 服務(wù)器資源占用情況
  1 單機(jī)運(yùn)行環(huán)境①應(yīng)用服務(wù)器資源占用情況

測(cè)試案例

并發(fā)用戶數(shù)

資源占用指標(biāo)

最大值

平均值

最小值

創(chuàng)建工作流
A 實(shí)例

120

CPU Utilization(%)

33.8

10.054

2.9

Paging Rate(page/s)

2.5

0.082

0

Disk traffic(Mbyte/s)

9.75

0.813

0

240

CPU Utilization(%)

38.1

8.713

0.875

Paging Rate(page/s)

0.25

0.015

0

Disk traffic(Mbyte/s)

2.6

0.336

0

②數(shù)據(jù)庫(kù)服務(wù)器資源占用情況

測(cè)試案例

并發(fā)用戶數(shù)

資源占用指標(biāo)

最大值

平均值

最小值

創(chuàng)建工作流
A 實(shí)例

120

CPU Utilization(%)

44.875

5.085

0.5

Paging Rate(page/s)

4.75

0.274

0

Disk traffic(Mbyte/s)

8.8

1.824

0.6

240

CPU Utilization(%)

12.2

1.766

0.5

Paging Rate(page/s)

5.4

0.244

0

Disk traffic(Mbyte/s)

7.2

1.584

0.6

測(cè)試案例

并發(fā)用戶數(shù)

資源占用指標(biāo)

最大值

平均值

最小值

創(chuàng)建工作流
B 實(shí)例和工
作流C 實(shí)例

60

CPU Utilization(%)

100

87.082

0.875

Paging Rate(page/s)

268.992

158.865

0

Disk traffic(Mbyte/s)

193.319

110.948

2.25

120

CPU Utilization(%)

99.3

88.419

1.15

Paging Rate(page/s)

751.358

189.785

1.8

Disk traffic(Mbyte/s)

217.775

146.304

2

240

CPU Utilization(%)

100

88.909

0.6

Paging Rate(page/s)

521.447

151.829

0

Disk traffic(Mbyte/s)

197.725

146.285

0.6

2 集群運(yùn)行環(huán)境①倆臺(tái)應(yīng)用服務(wù)器資源占用情況

測(cè)試
案例

并發(fā)用戶數(shù)

資源占用指標(biāo)

應(yīng)用服務(wù)器1

應(yīng)用服務(wù)器2

最大值

平均值

最小值

最大值

平均值

最小值

創(chuàng)建工
作流
A 實(shí)例

120

CPU Utilization(%)

46

21.005

14

46.25

14.025

7.667

Paging Rate(page/s)

3.5

0.392

0

2.167

0.206

0

Disk traffic(Mbyte/s)

65.334

6.647

0

73.833

7.588

0

240

CPU Utilization(%)

42

27.163

1.583

37.333

17.856

0.75

Paging Rate(page/s)

3

0.206

0

0.667

0.045

0

Disk traffic(Mbyte/s)

7

0.849

0

6

0.674

0

②數(shù)據(jù)庫(kù)服務(wù)器資源占用情況

測(cè)試案例

并發(fā)用戶數(shù)

資源占用指標(biāo)

最大值

平均值

最小值

創(chuàng)建工作流
A 實(shí)例

120

CPU Utilization(%)

13

2.868

0.333

Paging Rate(page/s)

0

0

0

Disk traffic(Mbyte/s)

6.667

1.767

0.6

240

CPU Utilization(%)

34.5

5.644

0.25

Paging Rate(page/s)

10.667

0.508

0

Disk traffic(Mbyte/s)

5.6

1.596

0.75

【問題1】單機(jī)運(yùn)行環(huán)境和集群運(yùn)行環(huán)境下祭钉,系統(tǒng)能夠提供的客戶端并發(fā)性能服務(wù)等級(jí)哪種更好瞄沙?為什么?
【問題2】試分析系統(tǒng)應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器資源使用情況如何慌核?是否有瓶頸存在距境?單機(jī)運(yùn)行環(huán)境和集群運(yùn)行環(huán)境相比,哪種環(huán)境下資源占用率更高垮卓?為什么垫桂?隨著系統(tǒng)并發(fā)負(fù)載的加大,試預(yù)測(cè)哪種環(huán)境下資源占用率遞增更快粟按?
【問題3】
集群對(duì)系統(tǒng)性能有哪些貢獻(xiàn)诬滩?有哪些弊端霹粥?該系統(tǒng)是否應(yīng)該采用此集群部署策略?

答案:

單用戶查詢的響應(yīng)時(shí)間為51.77秒疼鸟,時(shí)間過長(zhǎng)后控,表明查詢工作量大。建議優(yōu)化查詢SQL語(yǔ)句空镜,盡可能用上合適的索引浩淘,明顯縮短查詢時(shí)間;
從資源占用情況來(lái)看吴攒,應(yīng)用服務(wù)器沒有明顯壓力张抄,數(shù)據(jù)庫(kù)服務(wù)器存在明顯的資源爭(zhēng)用現(xiàn)象;
數(shù)據(jù)庫(kù)服務(wù)器磁盤讀表現(xiàn)明顯洼怔,20用戶并發(fā)執(zhí)行時(shí)磁盤讀平均值為110.74M字節(jié)/秒署惯,

(試題二)

下面是一個(gè)項(xiàng)目的性能測(cè)試結(jié)果,請(qǐng)分析可能存在的性能問題镣隶。

峰值達(dá)到196.72M字節(jié)/秒极谊,這是總體響應(yīng)時(shí)間過長(zhǎng)的主要原因;

數(shù)據(jù)庫(kù)服務(wù)器CPU的占用率情況表現(xiàn)正常矾缓,但CPU的等待率較高怀酷,40用戶并發(fā)執(zhí)行時(shí)CPU平均等待率為45.51%,峰值達(dá)到89.40%嗜闻,表明CPU經(jīng)常處于磁盤I/O讀入數(shù)據(jù)的等待之中,這同樣能夠證明磁盤I/O構(gòu)成當(dāng)前系統(tǒng)主要性能瓶頸

Unix服務(wù)器性能監(jiān)控(數(shù)據(jù)庫(kù)服務(wù)器內(nèi)存8G桅锄,上千萬(wàn)行大量數(shù)據(jù))

監(jiān)控對(duì)象

性能參數(shù)

說明

內(nèi)存

Memory

Real Free MBytes

可用自由內(nèi)存總量琉雳,單位是兆字節(jié)

Virtual Free MBytes

可用自由虛擬內(nèi)存總量,單位是兆字節(jié)

網(wǎng)絡(luò)Network Interface

Bytes Total/s

網(wǎng)絡(luò)發(fā)送和接收的速率友瘤,單位是字節(jié)/秒

磁盤

Physical Disk

Disk Read KB/s

磁盤讀取速率翠肘,單位是千字節(jié)/秒

Disk Write KB/s

磁盤寫入速率,單位是千字節(jié)/秒

處理器

Processor

CPU Time%

處理器執(zhí)行非閑置線程時(shí)間的百分比

Wait Time%

處理器執(zhí)行等待時(shí)間的百分比

Linux服務(wù)器性能監(jiān)控(應(yīng)用服務(wù)器內(nèi)存4G)

監(jiān)控對(duì)象

性能參數(shù)

說明

內(nèi)存

Memory

Available Swap MBytes

顯示Swap空間的剩余量辫秧,單位是千字節(jié)

Free Memory MBytes

可用自由內(nèi)存總量束倍,單位是千字節(jié)

網(wǎng)絡(luò)Network Interface

Bytes Total/s

網(wǎng)絡(luò)發(fā)送和接收的速率,單位是字節(jié)/秒

磁盤

Physical Disk

Disk Read KB/s

磁盤讀取速率盟戏,單位是千字節(jié)/秒

Disk Write KB/s

磁盤寫入速率绪妹,單位是千字節(jié)/秒

處理器

Processor

CPU Time%

處理器執(zhí)行非閑置線程時(shí)間的百分比

Wait Time%

處理器執(zhí)行等待時(shí)間的百分比

表1 單用戶執(zhí)行XX查詢

時(shí)間特性表

測(cè)試過程說明

測(cè) 試 結(jié) 果 (時(shí)間單位:秒)

用戶數(shù)

響應(yīng)時(shí)間

XX查詢

1

51.77

資源特性表

最小值

平均值

最大值

數(shù)據(jù)庫(kù)服務(wù)器資源特性

內(nèi)存

Memory

Real Free MBytes

4474.00

4479.05

4487.40

Virtual Free MBytes

16116.60

16116.60

16116.60

網(wǎng)絡(luò)Network Interface

Bytes Total/sec

0.00

11.36

393.00

磁盤

Physical Disk

Disk Read KB/s

0.00

5539.28

8437.50

Disk Write KB/s

0.00

21.99

339.80

處理器

Processor

CPU Time%

0.00

1.78

3.60

Wait Time%

0.00

13.67

17.30

應(yīng)用服務(wù)器資源特性

內(nèi)存

Memory

Available Swap KBytes

2045.60

2045.60

2045.60

Free Memory KBytes

49.40

49.44

49.50

網(wǎng)絡(luò)Network Interface

Bytes Total/sec

0.00

24.29

807.40

磁盤

Physical Disk

Disk Read KB/s

0.00

0.00

0.00

Disk Write KB/s

0.00

15.25

143.20

處理器

Processor

CPU Time%

0.00

0.26

4.00

Wait Time%

0.00

0.00

0.00

表2 20用戶并發(fā)執(zhí)行XX查詢

時(shí)間特性表

測(cè)試過程說明

測(cè) 試 結(jié) 果 (時(shí)間單位:秒)

并發(fā)用戶數(shù)

成功用戶數(shù)

最小響應(yīng)時(shí)間

平均響應(yīng)

時(shí)間

最大響應(yīng)

時(shí)間

90%響應(yīng)

時(shí)間

XX查詢

20

20

82.29

83.15

84.42

83.60

資源特性表

最小值

平均值

最大值

數(shù)據(jù)庫(kù)服務(wù)器資源特性

內(nèi)存

Memory

Real Free MBytes

4430.50

4963.65

6477.20

Virtual Free MBytes

16115.70

16116.97

16120.90

網(wǎng)絡(luò)Network Interface

Bytes Total/sec

2.40

175.82

2198.20

磁盤

Physical Disk

Disk Read KB/s

0.00

110732.71

196719.10

Disk Write KB/s

0.00

30.80

441.60

處理器

Processor

CPU Time%

0.10

23.30

59.00

Wait Time%

0.20

39.17

86.60

應(yīng)用服務(wù)器資源特性

內(nèi)存

Memory

Available Swap KBytes

2045.60

2045.60

2045.60

Free Memory KBytes

48.00

49.26

49.80

網(wǎng)絡(luò)Network Interface

Bytes Total/sec

0.00

494.85

6245.60

磁盤

Physical Disk

Disk Read KB/s

0.00

0.00

0.00

Disk Write KB/s

0.00

19.53

163.20

處理器

Processor

CPU Time%

0.00

2.70

36.80

Wait Time%

0.00

0.00

0.00

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市柿究,隨后出現(xiàn)的幾起案子邮旷,更是在濱河造成了極大的恐慌,老刑警劉巖蝇摸,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶肩,死亡現(xiàn)場(chǎng)離奇詭異办陷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)律歼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門民镜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人险毁,你說我怎么就攤上這事殃恒。” “怎么了辱揭?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵离唐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我问窃,道長(zhǎng)亥鬓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任域庇,我火速辦了婚禮嵌戈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘听皿。我一直安慰自己熟呛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布尉姨。 她就那樣靜靜地躺著庵朝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪又厉。 梳的紋絲不亂的頭發(fā)上九府,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音覆致,去河邊找鬼侄旬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛煌妈,可吹牛的內(nèi)容都是我干的儡羔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼璧诵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汰蜘!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起腮猖,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鉴扫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后澈缺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坪创,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炕婶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了莱预。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柠掂。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖依沮,靈堂內(nèi)的尸體忽然破棺而出涯贞,到底是詐尸還是另有隱情,我是刑警寧澤危喉,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布宋渔,位于F島的核電站,受9級(jí)特大地震影響辜限,放射性物質(zhì)發(fā)生泄漏皇拣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一薄嫡、第九天 我趴在偏房一處隱蔽的房頂上張望氧急。 院中可真熱鬧,春花似錦毫深、人聲如沸吩坝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钉寝。三九已至,卻和暖如春鸳址,著一層夾襖步出監(jiān)牢的瞬間瘩蚪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工稿黍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人崩哩。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓巡球,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親邓嘹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酣栈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一:LoadRunner常見問題整理1.LR 腳本為空的解決方法:1.去掉ie設(shè)置中的第三方支持取消掉2.在系統(tǒng)屬...
    0100閱讀 4,134評(píng)論 0 11
  • 軟件測(cè)試教程 性能測(cè)試Loadrunner篇(二) 上節(jié)課主要講述了性能測(cè)試的基本知識(shí),現(xiàn)在開始介紹性能測(cè)試工具L...
    zzulj閱讀 3,647評(píng)論 0 12
  • VU——用戶行為的模擬器2 LoadRunner之所以強(qiáng)大汹押,很大原因是VU的功能強(qiáng)大矿筝。VU幾乎支持模擬當(dāng)今所有主流...
    WinterM9閱讀 967評(píng)論 0 1
  • 性能測(cè)試用戶的設(shè)計(jì)策略—“普遍撒網(wǎng),重點(diǎn)查看”原則 性能測(cè)試是一個(gè)復(fù)雜的過程棚贾,因?yàn)樗膶?duì)象是一個(gè)由多個(gè)模塊甚至多個(gè)...
    WinterM9閱讀 318評(píng)論 0 0
  • 一:查看用戶 $who am i 或 $who mom likes 或 $who -m who 命令及其他常用參數(shù)...
    胭脂扣_閱讀 365評(píng)論 0 0