国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
LoadRunner學(xué)習(xí)筆記 - charmer - 51Testing軟件測試網(wǎng) - P...

事務(wù)(Transaction)是這樣一個點(diǎn),我們?yōu)榱撕饬磕硞€action的性能,需要在action的開始和結(jié)束位置插入這樣一個范圍,這就定義了一個transaction,LoadRunner 運(yùn)行到該事務(wù)的開始點(diǎn)時,LoadRunner 就會開始計時,直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn),計時結(jié)束。這個事務(wù)的運(yùn)行時間在結(jié)果中會有反映。所以 LR 的事務(wù)添加操作就是把測試所需要關(guān)注的操作定義成事務(wù)告訴 LR,這個是我想要重點(diǎn)檢測性能的操作。LR就會在運(yùn)行過程中記錄事務(wù)內(nèi)操作的響應(yīng)事件等性能

數(shù)據(jù)。并在 Analysis中以報告的形式給出統(tǒng)計結(jié)果。

lr_start_transaction(”SubmitBookData”);

/*中間代碼部分*/

lr_end_transaction(”SubmitBookData”, LR_AUTO);

2.1.2 集合點(diǎn)(Rendezvous) 

集合點(diǎn):是一個并發(fā)訪問的點(diǎn),在測試計劃中,可能會要求系統(tǒng)能夠承受1000人同時提交數(shù)據(jù),在LoadRunner中可以通過在提交數(shù)據(jù)操作前面加入集合點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時,LoadRunner 就會檢查同時有多少用戶運(yùn)行到集合點(diǎn),如果不到1000人,LoadRunner就會命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000 人時,LoadRunner 命令1000 人同時去提交數(shù)據(jù),并發(fā)訪問的目的。 

注意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來使用,常放在事務(wù)的前面,集合點(diǎn)只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合點(diǎn)。集合點(diǎn)函數(shù)如下,參數(shù)不能加空格:lr_rendezvous(”SumitQueryData”); 加入集合點(diǎn)之后,在后面運(yùn)行過程中可以看到VU的狀態(tài),會等待集合。 

2.1.4 IP Spoofer(IP 欺騙) 

LoadRunner允許運(yùn)行的虛擬用戶使用不同的IP 訪問同一網(wǎng)站,這種技術(shù)稱為“IP 欺騙”。 

啟用該選項(xiàng)后,場景中運(yùn)行的虛擬用戶將模擬從不同的IP 地址發(fā)送請求。該選項(xiàng)非常的有用。注意:IP Spoofer 在連接Load Generators 之前啟用。要使用IP 欺騙,各個Load Generator 機(jī)器必須使用固定的IP,不能使用動態(tài)IP(即DHCP)。 

IP Wizard工具,添加一個局域網(wǎng)內(nèi)的IP段。添加后重啟,在Win2k下使用Ipconfig/all查看到很多虛擬的IP,最后要在Controller里面選擇enable ip spoofer. 

2.1.5(Text/Image)檢查和 contents check 點(diǎn) 

對于查詢類的腳本,一定要添加檢查點(diǎn),以保證在測試時結(jié)果的正確性.因?yàn)長R只要檢測到網(wǎng)頁的響應(yīng),就認(rèn)為是pass而并不管當(dāng)前網(wǎng)頁內(nèi)容的正確性.在進(jìn)行壓力測試時,為了檢查Web服務(wù)器返回的網(wǎng)頁是否正確,VuGen允許我們插入Text/Imag 檢查點(diǎn),這些檢查點(diǎn)驗(yàn)證網(wǎng)頁上是否存在指定的Text或者Image,還可以測試在比較大的壓力測試環(huán)境中,被測的網(wǎng)站功能是否保持正確。檢查點(diǎn)的含義和WinRunner 中的檢查點(diǎn)功能基本上一致,這里就不再說了.

比如登錄,我要測試200人同時登錄, 

但是我的login.jsp里面沒有正確的關(guān)閉數(shù)據(jù)庫的連接, 

導(dǎo)致登錄100人后,建立了100個數(shù)據(jù)庫連接, 

第101人一個人登錄的時候,由于超出數(shù)據(jù)庫連接的最大數(shù), 

所以,jsp程序拋出了一個數(shù)據(jù)庫異常。 

但是頁面的走向是正確的,所以loadrunner會認(rèn)為程序是正確執(zhí)行的,但是事實(shí)卻并非如此。 

2.1.6 LR 腳本復(fù)用問題 

LR的測試腳本有很好的復(fù)用性,參數(shù)化后的腳本,在應(yīng)用沒什么大的變化的情況下,一直是可以用的。甚至你在A服務(wù)器錄制的腳本,如果做測試的時候,需要轉(zhuǎn)移到B服務(wù)器上,你只需要用查找替換的功能將A服務(wù)器的IP地址換成B服務(wù)

2.1.7 理解 Correlation(關(guān)聯(lián))

關(guān)聯(lián)是用來解決腳本中存在的動態(tài)數(shù)據(jù)問題的.在7.8中,當(dāng)你回放一次后,LR會自動錄找你錄制的時候和回放時候的差別,找出動態(tài)數(shù)據(jù),并作成參數(shù)。

理解web_reg_save_param函數(shù), 

int web_reg_save_param (const char *ParamName, , LAST);

第一部分:參數(shù)名字,用雙引號括起,逗號分開; 

第二部分:List of Attributes,包括:LB、RB、RelFrameID、Ord、Search、SaveOffset、

SaveLen等, 

第三部分:LAST,結(jié)束標(biāo)志。

左邊界,右邊界到底是個什么概念? 

LB是左邊界,要查找的字符串左面的邊界值,即位于查找字符串的最左邊的字符串,RB是右邊界,要查找的字符串右面的邊界值,即位于查找字符串的最右邊的字符串,比如說吧,程

Search是指查找范圍,就是說在哪里查找這些值,可以取這樣幾個值,我們一般設(shè)為ALL,

Body等即可。 

Headers (Search only the headers), 

Body (search only Body data, not headers), 

Noresource (search only the html body, excluding all headers and resources), 

ALL (search Body and headers). The default value is ALL. 

RelFrameID: The hierarchy level of the HTML page relative to the requested URL.

一般取1

ORD: This parameter, also known as Instance, indicates the ordinal or instance of 

the match. 一般取 1 

一般把系統(tǒng)的那些都關(guān)掉,定義自己的,只是有的時候,它不能自動關(guān)聯(lián),就

干脆手工作了。需要關(guān)聯(lián)的地方:一般是在有主鍵,不允許記錄重復(fù),和一些主程序中傳遞過來的參數(shù),在后面要用到等情況才使用關(guān)聯(lián)的,你可以先執(zhí)行一遍,如果有些地方不允許重復(fù),參數(shù)值無效,就會出錯的,根據(jù)錯誤提示你可以判斷出來,就知道需要關(guān)聯(lián)了。一般需要關(guān)聯(lián)的不多,我現(xiàn)在遇到的就是進(jìn)程號,以及表的主鍵。

以下是一個例子講解LR,呵呵!

2. 1. 8 以錄制 Web(Http/Html)協(xié)議為例講述一下 LR 的腳本的錄制 

LR的腳本是C語言代碼,LR有自己的一整套函數(shù)接口,可以供外部調(diào)用,在VUGen里面敲Lr_就可以看到了。Web(Http/Html)腳本本身分INIT,ACTION,END三部分,各部分的解釋:INIT部分可以理解為初始部分,ACTION可以理解為事務(wù)部分,也是測試的主體,END是退出結(jié)束。重復(fù)的時候,僅重復(fù)action部分。我們一般把登錄部分放在init,退出放到end,只會執(zhí)行一次,或者有的時候,各部分反復(fù)的次數(shù)不一樣,分成多個action,可以單獨(dú)設(shè)定反復(fù)次數(shù)。(如果需要在登陸操作設(shè)集合點(diǎn),那么登陸操作也要放到Action 中,因?yàn)関user_init 中不能添加集合點(diǎn)) 

腳本里面有 2 個函數(shù),解釋一下:1.幾個函數(shù)的解釋: 

1) int web_url (const char *Name, const char * url, 

[EXTRARES, ,] LAST ; 

這個函數(shù) load 指定的web 頁面 . *Name:頁面的name; url:頁面的url,Resource:指示the URL 是否是一個資源。0,不是,1, RecContentType:錄制腳本過程中,Header 響應(yīng)的類型,e.g. text/html, 

application/x- javascrīpt Referer – 參考 web 頁的 the URL Snapshot - snapshot 文件名(擴(kuò)展名inf), correlation 的時候要的。 Mode – 錄制的級別: HTML or HTTP Last- 屬性列表的結(jié)束標(biāo)志。


名詞方面的解釋    迭代(Iterate)設(shè)計,或者我們稱之為增量(Incremental)設(shè)計的思想和XP提倡的Evolutionary Design有異曲同工之妙。注意:1、 參數(shù)類型:在創(chuàng)建參數(shù)的時候,我選擇了參數(shù)類型為File。參數(shù)類型共有9 種,現(xiàn)在來簡單介紹一下所有的參數(shù)類型以及意義。1.1、  DateTime:在需要輸入日期/時間的地方,可以用 DateTime 類型來替代。其屬性設(shè)置也很簡單,選擇一種格式即可。當(dāng)然也可以定制格式。1.2、  Group Name:很少用到。在實(shí)際運(yùn)行中,LoadRunner 使用該虛擬用戶所在的Vuser Group 來代替。但是在 VuGen 中運(yùn)行時,Group Name將會是None。1.3、  Load Generator Name :在實(shí)際運(yùn)行中, LoadRunner  使用該虛擬用戶所 在LoadGenerator  的機(jī)器名來代替。1.4、  Iteration Number :在實(shí)際運(yùn)行中,LoadRunner 使用該測試腳本當(dāng)前循環(huán)的次數(shù)來代替。1.5、  Random Number:隨機(jī)數(shù)。很簡單。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機(jī)數(shù)的范圍。1.6、  Unique Number:唯一的數(shù)。在屬性設(shè)置中可以設(shè)置第一個數(shù)以及遞增的數(shù)的大小。注意:使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如:某個文本框能接受的最大數(shù)為99。當(dāng)使用該參數(shù)類型時,設(shè)置第一個數(shù)為 1,遞增的數(shù)為1,但100  個虛擬用戶同時運(yùn)行時,第100  個虛擬用戶輸入的將是 100,這樣腳本運(yùn)行將會出錯。這里說的遞增意思是各個用戶取第一個值的遞增數(shù),每個用戶相鄰的兩次循環(huán)之間的差值為 1。舉例說明:假如起始數(shù)為 1,遞增為 5,那么第一個用戶第一次循環(huán)取值 1,第二次循環(huán)取值 2;第二個用戶第一次循環(huán)取值為 6,第二次為 7;依次類推。1.7、  Vuser ID:設(shè)置比較簡單。在實(shí)際運(yùn)行中,LoadRunner 使用該虛擬用戶的 ID  來代替,該 ID  是由 Controller 來控制的。但是在 VuGen 中運(yùn)行時,Vuser ID  將會是 –1。1.8、  File:需要在屬性設(shè)置中編輯文件,添加內(nèi)容,也可以從現(xiàn)成的數(shù)據(jù)庫中取數(shù)據(jù)1.9、  User Defined Function:從用戶開發(fā)的 dll 文件提取數(shù)據(jù)。

1、 負(fù)載生成器: 

負(fù)載生成器是用來模擬生成虛擬用戶的。 

根據(jù)經(jīng)驗(yàn),每生成一個虛擬用戶,需要花費(fèi)負(fù)載生成器大約 2M 的內(nèi)存空間。通常運(yùn)行 controller的主機(jī)很少用作負(fù)載生成器。負(fù)載生成器的工作多由其他裝有 LR Agent的PC 機(jī)來擔(dān)任。如果負(fù)載生成器內(nèi)存的使用率大于了 70%,負(fù)載生成器就會變成系統(tǒng)的瓶頸,導(dǎo)致性能測試成績下降。這種問題需要添加負(fù)載生成器來解決。一臺 512M內(nèi)存的 PC 機(jī)大約可以生成 80 個左右的負(fù)載,而一臺 256M 內(nèi)存的 PC 機(jī)大約可以生成50到 60 個左右的負(fù)載。 

2、 運(yùn)行[時間]在加壓完成后: 

當(dāng)“運(yùn)行[時間]在加壓完成后”設(shè)置了以后,原本定義的運(yùn)行時設(shè)置中的迭代次數(shù)就失效了?;蛘哒f加壓 “持續(xù)時間”的優(yōu)先級要高于“運(yùn)行時設(shè)置”。比如當(dāng)一個腳本設(shè)置了運(yùn)行時設(shè)置中的迭代次數(shù)為 10 次,在“持續(xù)時間”中設(shè)置加壓持續(xù)時間為 30分鐘。當(dāng)真正運(yùn)行時,腳本迭代10 次后僅花費(fèi)了20分鐘,但是持續(xù)時間設(shè)了30 分鐘,因此它不能停下來,還會繼續(xù)迭代。到最后腳本實(shí)際迭代的次數(shù)就不止 10次了。


LR 對服務(wù)器資源的監(jiān)視

LR只能監(jiān)視它支持的服務(wù)器的資源,它支持大部分常見的服務(wù)器。 

System Resource:包括windows平臺,Unix平臺等 

Web Server:包括Apache、IIS、Sun的iplanet等 

Application server:包括Weblogic、WebSphere等 

Database server:包括DB2,Oracle,Sql server,Sybase等 

Java: ejb,J2ee等,需要一個ejbdetector.jar文件 

1.對Windows(Win2k server)的監(jiān)視: 

對windows的監(jiān)視相對比較簡單,監(jiān)視前首先需要用有管理員權(quán)限的賬號連接被監(jiān)

server,例如:net use\\qa-test/user:donny ,輸入密碼。然后就可以添加計數(shù)器,

比較常用的計數(shù)器有: 

Memory:Available Mbytes 物理內(nèi)存的可用數(shù)(單位 Mbytes)至少要有10% 的物理內(nèi)存值 

Processor:%Processor Time CPU 使用率。這是查看處理器飽和狀況的最佳計數(shù)器。顯示所有 CPU 的線程處理時間。如果一個或多個處理器的該數(shù)值持續(xù)超過 90%,則表示此測試的負(fù)載對于目前的硬件過于沉重。為多處理器服務(wù)器添加該計數(shù)器的 0 到 x 個實(shí)例。 

Processor Queue Length:是指處理列隊(duì)中的線程數(shù),小于2。處理器瓶頸會導(dǎo)致該值持續(xù)大于2。

Context Switches/sec:如果切換次數(shù)到5000*CPU個數(shù)和10000*CPU個數(shù)中,說明它忙于切換線程 

Network Interface:Bytes Total/sec 為發(fā)送和接收字節(jié)的速率,包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸,可以用該計數(shù)器的值和目前網(wǎng)絡(luò)的帶寬比較。 

SQL Server2000:%Processor Time,CPU 使用率 

General Statistics,Logins/sec,這是每秒登錄到 SQL Server 的計數(shù)。 

SQL Statistics: Batch Requests/sec,每秒收到的 Transact-SQL 命令批數(shù)。這一統(tǒng)計信息受所有約束(如I/O、用戶數(shù)、高速緩存大小、請求每秒收到的 Transact-SQL 命令批數(shù)。這一統(tǒng)計信息受所有約束(如I/O、用戶數(shù)、高速緩存大小、請求的復(fù)雜程度等)影響。

批請求數(shù)值高意味著吞吐量很好。

2.對Unix(Linux等)的監(jiān)視,需要配置相應(yīng)的服務(wù)器端,可以查看幫助文件,這里就只舉

一個例子了。 

1) LoadRunner 如何監(jiān)控Apache,需要修改apache的配置文件httpd.conf.


SetHandler server-status 

Order deny,allow 

Allow from all 

Allow from .your-domain.com 


把這節(jié)加在httpd.conf里面, restart apache即可。

頁面分解 

如果某個transaction的時間過長,為了分析問題出在哪里?就可以利用頁面分解了,它可

以把每個頁面分解成:

DNS解析時間:瀏覽器訪問一個網(wǎng)站的時候,一般用的是域名,需要dns服務(wù)器把這個域名解析為IP,這個過程就是域名解析時間,如果我們在局域網(wǎng)內(nèi)直接使用IP訪問的話,就沒有這個時間了。 

Connection:解析出Web Server 的IP地址后,瀏覽器請求被送到了Web Server,然后瀏覽器和Web Server 之間需要建立一個初始化HTTP連接,服務(wù)器端需要做2件事:一是接收請求,二是分配進(jìn)程,建立該連接的過程就是connection時間。 

First Buffer:建立連接后,從Web Server 發(fā)出第一個數(shù)據(jù)包,經(jīng)過網(wǎng)絡(luò)傳輸?shù)娇蛻舳耍瑸g覽器成功接受到第一字節(jié)的時間就是First Buffer。這個度量時間不僅可以表示W(wǎng)eb Server 的延遲時間,還可以表示出網(wǎng)絡(luò)的反應(yīng)時間。 

Receive:從瀏覽器接收到第一個字節(jié)起,直到成功收到最后一個字節(jié),下載完成止,這段時間就是receive時間。 

其他的時間還有SSL Handshaking(SSL 握手協(xié)議,用到該協(xié)議的頁面比較少)、

ClientTime(請求在客戶端瀏覽器延遲的時間,可能是由于客戶端瀏覽器的think time 或者客戶端其他方面引起的延遲)、Error Time(從發(fā)送了一個HTTP 請求,到Web Server發(fā)送回一個HTTP 錯誤信息,需要的時間)

為了確認(rèn)問題緣由到底是服務(wù)器還是網(wǎng)絡(luò),選擇“Time to First Buffer(緩沖器) Breakdown”發(fā)現(xiàn)network時間比Server時間要高的多,從而確定問題是network引起的。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
性能測試筆試大接觸(上
LoadRunner v12測試案例--性能分析
虛擬ip的設(shè)置
使用LoadRunner進(jìn)行并發(fā)測試、壓力測試和負(fù)載測試
LoadRunner進(jìn)行性能測試的大致流程
loadrunner 場景設(shè)計
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服