LoadRunner監視的性能計數器_第1頁
LoadRunner監視的性能計數器_第2頁
LoadRunner監視的性能計數器_第3頁
LoadRunner監視的性能計數器_第4頁
LoadRunner監視的性能計數器_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.LoadRunner監視的性能計數器今天,我先把我整理的一些計數器及其閾值要求等貼出來,這些計數器是針對我對windows操作系統,C/S構造的sql server數據庫及WEB平臺.net產品測試時的一些計數器;大家可以繼續補充,作過unix平臺上oracle數據庫測試及J2EE架構及WEBLOGIC方面測試的朋友,也希望把自己使用的計數器貼出來,讓大家分享。好了,先說這些了,希望通過這個專題,最終能讓大家對自己的測試結果進展分析。Memory:內存使用情況可能是系統性能中最重要的因素。假設系統"頁交換"頻繁,說明內存缺乏。"頁交換"是使用稱為&qu

2、ot;頁面"的單位,將固定大小的代碼和數據塊從RAM挪動到磁盤的過程,其目的是為了釋放內存空間。盡管某些頁交換使Windows 2000可以使用比實際更多的內存,也是可以承受的,但頻繁的頁交換將降低系統性能。減少頁交換將顯著進步系統響應速度。要監視內存缺乏的狀況,請從以下的對象計數器開場:Available Mbytes:可用物理內存數.假設Available Mbytes的值很小4 MB或更小,那么說明計算機上總的內存可能缺乏,或某程序沒有釋放內存。page/sec:說明由于硬件頁面錯誤而從磁盤取出的頁面數,或由于頁面錯誤而寫入磁盤以釋放工作集空間的頁面數。一般假設pages/se

3、c持續高于幾百,那么您應該進一步研究頁交換活動。有可能需要增加內存,以減少換頁的需求你可以把這個數字乘以4k就得到由此引起的硬盤數據流量。Pages/sec的值很大不一定說明內存有問題,而可能是運行使用內存映射文件的程序所致。page read/sec:頁的硬故障,page/sec的子集,為理解析對內存的引用,必須讀取頁文件的次數。閾值為5.越低越好。大數值表示磁盤讀而不是緩存讀。由于過多的頁交換要使用大量的硬盤空間,因此有可能將導致將頁交換內存缺乏與導致頁交換的磁盤瓶徑混淆。因此,在研究內存缺乏不太明顯的頁交換的原因時,您必須跟蹤如下的磁盤使用情況計數器和內存計數器:Physical Dis

4、k%Disk Time Physical DiskAvg.Disk Queue Length例如,包括Page Reads/sec和%Disk Time及Avg.Disk Queue Length。假設頁面讀取操作速率很低,同時%Disk Time和Avg.Disk Queue Length的值很高,那么可能有磁盤瓶徑。但是,假設隊列長度增加的同時頁面讀取速率并未降低,那么內存缺乏。要確定過多的頁交換對磁盤活動的影響,請將Physical DiskAvg.Disk sec/Transfer和MemoryPages/sec計數器的值增大數倍。假設這些計數器的計數結果超過了0.1,那么頁交換將花費

5、百分之十以上的磁盤訪問時間。假設長時間發生這種情況,那么您可能需要更多的內存。Page Faults/sec:每秒軟性頁面失效的數目包括有些可以直接在內存中滿足而有些需要從硬盤讀取較page/sec只說明數據不能在內存的指定工作集中立即使用。Cache Bytes:文件系統緩存File System Cache,默認情況下為50%的可用物理內存。如IIS5.0運行內存不夠時,它會自動整理緩存。需要關注該計數器的趨勢變化假設您疑心有內存泄露,請監視MemoryAvailable Bytes和MemoryCommitted Bytes,以觀察內存行為,并監視您認為可能在泄露內存的進程的Proces

6、sPrivate Bytes、ProcessWorking Set和ProcessHandle Count。假設您疑心是內核形式進程導致了泄露,那么還應該監視MemoryPool Nonpaged Bytes、MemoryPool Nonpaged Allocs和Processprocess_namePool Nonpaged Bytes。Pages per second:每秒鐘檢索的頁數。該數字應少于每秒一頁。Process:%Processor Time:被處理器消耗的處理器時間數量。假設效勞器專用于sql server,可承受的最大上限是80-85%Page Faults/sec:將進程

7、產生的頁故障與系統產生的相比較,以判斷這個進程對系統頁故障產生的影響。Work set:處理線程最近使用的內存頁,反映了每一個進程使用的內存頁的數量。假設效勞器有足夠的空閑內存,頁就會被留在工作集中,當自由內存少于一個特定的閾值時,頁就會被去除出工作集。Inetinfo:Private Bytes:此進程所分配的無法與其它進程共享的當前字節數量。假設系統性能隨著時間而降低,那么此計數器可以是內存泄漏的最正確指示器。Processor:監視"處理器"和"系統"對象計數器可以提供關于處理器使用的有價值的信息,幫助您決定是否存在瓶頸。%Processor Ti

8、me:假設該值持續超過95%,說明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。%User Time:表示消耗CPU的數據庫操作,如排序,執行aggregate functions等。假設該值很高,可考慮增加索引,盡量使用簡單的表聯接,程度分割大表格等方法來降低該值。%Privileged Time:CPU內核時間是在特權形式下處理線程執行代碼所花時間的百分比。假設該參數值和"Physical Disk"參數值一直很高,說明I/O有問題。可考慮更換更快的硬盤系統。另外設置Tempdb in RAM,減低"max async IO","

9、;max lazy writer IO"等措施都會降低該值。此外,跟蹤計算機的效勞器工作隊列當前長度的Server Work QueuesQueue Length計數器會顯示出處理器瓶頸。隊列長度持續大于4那么表示可能出現處理器擁塞。此計數器是特定時間的值,而不是一段時間的平均值。%DPC Time:越低越好。在多處理器系統中,假設這個值大于50%并且Processor:%Processor Time非常高,參加一個網卡可能會進步性能,提供的網絡已經不飽和。Thread ContextSwitches/sec:實例化inetinfo和dllhost進程假設你決定要增加線程字節池的大小

10、,你應該監視這三個計數器包括上面的一個。增加線程數可能會增加上下文切換次數,這樣性能不會上升反而會下降。假設十個實例的上下文切換值非常高,就應該減小線程字節池的大小。Physical Disk:%Disk Time%:指所選磁盤驅動器忙于為讀或寫入懇求提供效勞所用的時間的百分比。假設三個計數器都比較大,那么硬盤不是瓶頸。假設只%Disk Time比較大,另外兩個都比較適中,硬盤可能會是瓶頸。在記錄該計數器之前,請在Windows 2000的命令行窗口中運行diskperf-yD。假設數值持續超過80%,那么可能是內存泄漏。Avg.Disk Queue Length:指讀取和寫入懇求為所選磁盤在

11、實例間隔中列隊的的平均數。該值應不超過磁盤數的1.52倍。要進步性能,可增加磁盤。注意:一個Raid Disk實際有多個磁盤。Average Disk Read/Write Queue Length:指讀取寫入懇求列隊的平均數。Disk ReadsWrites/s:物理磁盤上每秒鐘磁盤讀、寫的次數。兩者相加,應小于磁盤設備最大容量。Average Disksec/Read:指以秒計算的在此盤上讀取數據的所需平均時間。Average Disk sec/Transfer:指以秒計算的在此盤上寫入數據的所需平均時間。Network Interface:Bytes Total/sec:為發送和接收字節

12、的速率,包括幀字符在內。判斷網絡連接速度是否是瓶頸,可以用該計數器的值和目前網絡的帶寬比較SQLServer性能計數器:Access Methods訪問方法用于監視訪問數據庫中的邏輯頁的方法。Full Scans/sec全表掃描/秒每秒不受限的完全掃描數。可以是根本表掃描或全索引掃描。假設這個計數器顯示的值比1或2高,應該分析你的查詢以確定是否確實需要全表掃描,以及S QL查詢是否可以被優化。Page splits/sec頁分割/秒由于數據更新操作引起的每秒頁分割的數量。Buffer Manager緩沖器管理器:監視Microsoft®SQL Server?如何使用:內存存儲數

13、據頁、內部數據構造和過程高速緩存;計數器在SQL Server從磁盤讀取數據庫頁和將數據庫頁寫入磁盤時監視物理I/O。監視SQL Server所使用的內存和計數器有助于確定:是否由于缺少可用物理內存存儲高速緩存中經常訪問的數據而導致瓶頸存在。假設是這樣,SQL Server必須從磁盤檢索數據。是否可通過添加更多內存或使更多內存可用于數據高速緩存或SQL Server內部構造來進步查詢性能。SQL Server需要從磁盤讀取數據的頻率。與其它操作相比,例如內存訪問,物理I/O會消耗大量時間。盡可能減少物理I/O可以進步查詢性能。.Page Reads/sec:每秒發出的物理數據庫頁讀取數。這一統

14、計信息顯示的是在所有數據庫間的物理頁讀取總數。由于物理I/O的開銷大,可以通過使用更大的數據高速緩存、智能索引、更高效的查詢或者改變數據庫設計等方法,使開銷減到最小。.Page Writes/sec.寫的頁/秒每秒執行的物理數據庫寫的頁數。.Buffer Cache Hit Ratio.在"緩沖池"Buffer Cache/Buffer Pool中沒有被讀過的頁占整個緩沖池中所有頁的比率。可在高速緩存中找到而不需要從磁盤中讀取的頁的百分比。這一比率是高速緩存命中總數除以自SQL Server實例啟動后對高速緩存的查找總數。經過很長時間后,這一比率的變化很小。由于從高速緩存中

15、讀數據比從磁盤中讀數據的開銷要小得多,一般希望這一數值高一些。通常,可以通過增加SQL Server可用的內存數量來進步高速緩存命中率。計數器值依應用程序而定,但比率最好為90%或更高。增加內存直到這一數值持續高于90%,表示90%以上的數據懇求可以從數據緩沖區中獲得所需數據。Lazy Writes/sec惰性寫/秒惰性寫進程每秒寫的緩沖區的數量。值最好為0。Cache Manager高速緩存管理器對象提供計數器,用于監視Microsoft®SQL Server?如何使用內存存儲對象,如存儲過程、特殊和準備好的Transact-SQL語句以及觸發器。Cache Hit Rati

16、o高速緩存命中率,所有Cache"的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一個總體的比率。高速緩存命中次數和查找次數的比率。對于查看SQL Server高速緩存對于你的系統如何有效,這是一個非常好的計數器。假設這個值很低,持續低于80%,就需要增加更多的內存。Latches閂用于監視稱為閂鎖的內部SQL Server資源鎖。監視閂鎖以明確用戶活動和資源使用情況,有助于查明性能瓶頸。Average Latch Wait Ti mem s平均閂等待時間毫秒一個SQL Server線程必須等待一

17、個閂的平均時間,以毫秒為單位。假設這個值很高,你可能正經歷嚴重的競爭問題。Latch Waits/sec閂等待/秒在閂上每秒的等待數量。假設這個值很高,說明你正經歷對資源的大量競爭。Locks鎖提供有關個別資源類型上的SQL Server鎖的信息。鎖加在SQL Server資源上如在一個事務中進展的行讀取或修改,以防止多個事務并發使用資源。例如,假設一個排它X鎖被一個事務加在某一表的某一行上,在這個鎖被釋放前,其它事務都不可以修改這一行。盡可能少使用鎖可進步并發性,從而改善性能。可以同時監視Locks對象的多個實例,每個實例代表一個資源類型上的一個鎖。Number of Deadlocks/s

18、ec死鎖的數量/秒導致死鎖的鎖懇求的數量Average Wait Timems平均等待時間毫秒線程等待某種類型的鎖的平均等待時間Lock Requests/sec鎖懇求/秒每秒鐘某種類型的鎖懇求的數量。Memory manager:用于監視總體的效勞器內存使用情況,以估計用戶活動和資源使用,有助于查明性能瓶頸。監視SQL Server實例所使用的內存有助于確定:是否由于缺少可用物理內存存儲高速緩存中經常訪問的數據而導致瓶頸存在。假設是這樣,SQL Server必須從磁盤檢索數據。是否可以通過添加更多內存或使更多內存可用于數據高速緩存或SQL Server內部構造來進步查詢性能。Lock blo

19、cks:效勞器上鎖定塊的數量,鎖是在頁、行或者表這樣的資源上。不希望看到一個增長的值。Total server memory:sql server效勞器當前正在使用的動態內存總量.監視IIS需要的一些計數器Internet Information Services Global:File Cache Hits%、File CacheFlushes、File Cache Hits File Cache Hits%是全部緩存懇求中緩存命中次數所占的比例,反映了IIS的文件緩存設置的工作情況。對于一個大部分是靜態網頁組成的網站,該值應該保持在80%左右。而File Cache Hits是文件緩存命中

20、的詳細值,File CacheFlushes是自效勞器啟動之后文件緩存刷新次數,假設刷新太慢,會浪費內存;假設刷新太快,緩存中的對象會太頻繁的丟棄生成,起不到緩存的作用。通過比較File Cache Hits和File Cache Flushes可得出緩存命中率對緩存清空率的比率。通過觀察它兩個的值,可以得到一個適當的刷新值參考IIS的設置ObjectTTL、MemCacheSize、MaxCacheFileSizeWeb Service:Bytes Total/sec:顯示Web效勞器發送和承受的總字節數。低數值說明該IIS正在以較低的速度進展數據傳輸。Connection Refused:

21、數值越低越好。高數值說明網絡適配器或處理器存在瓶頸。Not Found Errors:顯示由于被懇求文件無法找到而無法由效勞器滿足的懇求數 狀態代碼404Loadrunner性能測試一個實例隨著測試越來越重要,其中的性能測試也受到越來越多的關注。比較普遍的性能測試工具是Loadrunner7.51,但是很多人對此性能工具不是很熟悉。本人也是總結心得體會,將做過的性能測試實例以餉大家,希望對各位做測試的朋友有所幫助。該方案是針對某公司試題庫的性能測試。該試題庫是用來對公司內部員工培訓結果的一個考核。試題庫在公司內部web效勞器上,假設開設50個賬號和密碼可供50個考生同時參加考試。要求,每臺機器

22、只能由一個用戶使用,每個用戶只能使用各自不同的賬號登錄考試系統,做完題目后,要求提交考試結果,假設在制定的時間內不提交,那么系統強迫提交考試結果。但是,一般測試部門不可能有50臺機器同時進展測試的。所以,可以借Loadrunner7.51模擬IP地址,修改腳本來協助測試。但是,為了保證測試結果,建議網羅公司中所有可用的機器進展復測,因為有時候是不可以完全信賴工具的。現場測試環境硬件:50臺PC機,Web效勞器軟件:Loadrunner7.0,Win2000,IE5.0和IE6.0人員:質控部2人,執行現場測試工程部22人,提供現場環境技術部各1人,提供技術支持測試要求50個用戶擁有獨立IP地址

23、,不同的用戶及密碼登錄,試題完成后各自同時提交。測試內容50個用戶以不同的用戶名和密碼登錄試題庫。試題完成后,提交考試結果。測試考試結果是否能正常提交以及正確評分。測試方案1、完全20臺實際的PC機進展現場測試。1準備工作,并做方案。第一輪測試執行三遍,設定用戶考試內容全部同時提交,第一遍全部使用IE5.0,第二遍10臺使用IE5.0,10臺使用IE6.0,第三遍全部使用IE6.02At 9:00,20個用戶同時登錄系統3At 9:05,20個用戶同時全部提交4分別記錄第一輪測試三遍的結果5第二輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,全部使用IE5.06At

24、 9:15,20個用戶同時登錄系統7At 9:20,15個用戶同時提交8At 9:25,剩余5個用戶同時提交9記錄第二輪測試結果10第三輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,全部使用IE6.011At 9:15,20個用戶同時登錄系統12At 9:20,15個用戶同時提交13At 9:25,剩余5個用戶同時提交14記錄第三輪測試結果15第四輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶使用IE5.0,延時提交用戶使用IE6.016At 9:15,20個用戶同時登錄系統17At 9:20,15個用戶同時提交18At

25、9:25,剩余5個用戶同時提交19記錄第四輪測試結果20第五輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶使用IE6.0,延時提交用戶使用IE5.021At 9:15,20個用戶同時登錄系統22At 9:20,15個用戶同時提交23At 9:25,剩余5個用戶同時提交24記錄第五輪測試結果25第六輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶其中10個使用IE5.0,5個使用IE6.0,延時提交用戶使用IE5.026At 9:15,20個用戶同時登錄系統27At 9:20,15個用戶同時提交28At 9:25,

26、剩余5個用戶同時提交29記錄第六輪測試結果30第七輪測試準備工作,設定10個用戶考試內容同時提交,另外10個用戶分兩次分別延時5分鐘、15提交31At 9:35,20個用戶同時登錄系統32At 9:40,10個用戶同時提交33At 9:45,剩余的其中5個用戶同時提交34At 9:55,剩余的5個用戶同時提交35記錄第七輪測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進展測試36第八輪測試準備工作,設定其中10個用戶不提交,由系統強行提交37At 10:10,20個用戶同時登錄系統38At 10:15,10個用戶同時提交39其余用戶的內容由系統強行提交40記錄第八輪

27、測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進展測試41第九輪測試準備工作,設定其中10個用戶同時提交,5個用戶延時5分鐘提交,其余用戶由系統強行提交42At 10:25,20個用戶同時登錄系統43At 10:30,10個用戶同時提交44At 10:35,剩余的其中5個用戶同時提交45剩余5個用戶系統強迫提交46記錄第九輪測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進展測試2、模擬20個用戶進展測試。其中,10臺是PC機,另外10臺機器的IP地址是Loadrunner模擬出來的。1在10臺實際的PC機中抽取其中一臺虛擬10個IP地址,

28、包括自身的IP地址,該機器上共11個IP地址,這11個IP地址只能全部使用IE5.0或者全部使用IE6.02其余9臺實際的PC機分別由9個人操作,另外一臺機器由一位質控部人員操作3對于異常情況,延時提交和強迫提交全部由實際的機器來模擬4其余過程參見1 3、模擬20個用戶進展測試。其中,5臺是PC機,另外15臺機器的IP地址是用Loadrunner模擬出來的。1在5臺實際的PC機中抽取其中一臺虛擬15個IP地址,包括自身的IP地址,該機器上共16個IP地址,這16個IP地址只能全部使用IE5.0或者全部使用IE6.02其余4臺實際的PC機分別由4個人操作,另外一臺機器由一位質控部人員操作3對于異

29、常情況,延時提交和強迫提交全部由實際的機器來模擬4其余過程參見1 4、模擬35個用戶進展測試。其中,20臺是PC機,另外15臺機器的IP地址是用Loadrunner模擬出來的。1在20臺實際的PC機中抽取其中兩臺分別虛擬7個、8個IP地址,這17個IP地址只能全部使用IE5.0或者全部使用IE6.02其余18臺實際的PC機分別由18個人操作,另外兩臺機器由兩位質控部人員操作3對于異常情況,延時提交和強迫提交全部由實際的機器來模擬4其余過程參見1 5、模擬50臺用戶進展測試。其中,20臺是PC機,另外30臺機器的IP地址是用分別用兩臺實際的PC機模擬出來的。記錄測試結果。1在20臺實際的PC機中

30、抽取其中兩臺分別虛擬15個IP地址,這32個IP地址只能全部使用IE5.0或者全部使用IE6.02其余18臺實際的PC機分別由18個人操作,另外兩臺機器由兩位質控部人員操作3對于異常情況,延時提交和強迫提交全部由實際的機器來模擬4其余過程參見1 6、對5中所述情況重復測試兩次。7、為了保證結果的正確性,完全50臺實際的PC機進展現場測試。過程參見1測試過程注:該測試過程針對虛擬IP地址情況。1、一臺PC機上創立15個虛擬的IP地址。首先,啟動IP Wizard,如下:開場程序-Loadrunner-Tools-IP Wizard點擊"Add",添加你方案虛擬的IP地址。但是

31、注意不能添加已經被占用的IP地址。2、啟動Virtual User Generator,并錄制腳本,由于50個用戶的賬號和密碼各不一樣,所以,要修改腳本,設置參數。我是錄制了一個腳本,復制了49份,在每個腳本中手工修改了各自不同的地方。3、啟動Loadrunner Controller,先將剛剛保存的腳本添加進來。然后點擊"Scenario"菜單,激活其中的"Enable IP Spoofer"。4、點擊屏幕右方的"Generators",添加已經建立的IP,然后connect建立連接。5、對連接起來的不同用戶IP地址分配不同的腳本,

32、在Controller中的"design"中,點擊"Load Generators"其中,每個腳本有一個用戶執行。6、執行Scenario。Loadrunner中參數的設置在做負載或者壓力測試時,很多人選擇使用了Loadrunner測試工具。該工具的根本流程是先將用戶的實際操作錄制成腳本,然后產生數千個虛擬用戶運行腳本虛擬用戶可以分布在局域網中不同的PC機上,最后生成相關的報告以及分析圖。但是在錄制腳本的過程中會遇到很多實際的問題,比方不同的用戶有不同的使用數據,這就牽涉到參數的設置問題。本文就Loadrunner中參數的設置進展說明,希望對大家有所幫助

33、。錄制程序運行的過程中,VuGen腳本生成器自動生成了包含錄制過程中實際用到的數值的腳本。假設你企圖在錄制的腳本中使用不同的數值執行腳本的活動如查詢、提交等等,那么你必須用參數值取代錄制的數值。這個過程稱為參數化腳本。本文主要包括如下內容:理解參數的局限性、建立參數、定義參數的屬性、理解參數的類型、為部分數據類型設置參數的屬性、為數據文件設置參數的屬性、從已經存在的數據庫中引入數據。除了GUI,以下的內容適宜于各種類型的用戶腳本。一、關于參數的定義在你錄制程序運行的過程中,腳本生成器自動生成由函數組成的用戶腳本。函數中參數的值就是在錄制過程中輸入的實際值。例如,你錄制了一個Web應用程序的腳本

34、。腳本生成器生成了一個聲明,該聲明搜索名稱為"UNIX"的圖書的數據庫。當你用多個虛擬用戶和迭代回放腳本時,也許你不想重復使用一樣的值"UNIX"。那么,你就可以用參數來取代這個常量。結果就是你可以用指定的數據源的數值來取代參數值。數據源可以是一個文件,也可以是內部產生的變量。用參數表示用戶的腳本有兩個優點:可以使腳本的長度變短。可以使用不同的數值來測試你的腳本。例如,假設你企圖搜索不同名稱的圖書,你僅僅需要寫提交函數一次。在回放的過程中,你可以使用不同的參數值,而不只搜索一個特定名稱的值。參數化包含以下兩項任務:在腳本中用參數取代常量值。設置參數的屬性

35、以及數據源。參數化僅可以用于一個函數中的參量。你不能用參數表示非函數參數的字符串。另外,不是所有的函數都可以參數化的。二、參數的創立可以指定名稱和類型來創立參數。不存在對腳本中參數個數的限制。在Web程序的用戶腳本中,你可以使用如下過程在基于文本的腳本視圖中創立參數。或者,也可以在基于圖標的樹形視圖中創立參數。要創立一個參數:1、將光標定位在要參數化的字符上,點擊右鍵。翻開彈出菜單。2、在彈出菜單中,選擇"Replace with aParameter"。選擇或者創立參數的對話框彈出。3、在"Parameter name"中輸入參數的名稱,或者選擇一個在

36、參數列表中已經存在的參數。4、在"Parameter type"下拉列表中選擇參數類型。5、點擊"OK",關閉該對話框。腳本生成器便會用參數中的值來取代腳本中被參數化的字符,參數用一對""括住。注意:在參數化CORBA或者General-Java用戶腳本的時候,必須參數化整個字符串,而不是其中的部分。另外注意:除了Web或者WAP,缺省的參數括號對于任何腳本都是""。你可以在"General Options"對話框中的"Parameterization"標簽Tools Gen

37、eral Options中定義參數括號種類。6、用同樣的參數交換字符的其余情況,選中參數,點擊右鍵,彈出菜單。從彈出的菜單中,選擇"Replace More Occurrences"。搜索和交換對話框彈出。"Find What"中顯示了你企圖交換的值。"Replace With"中顯示了括號中參數的名稱。選擇適當的檢驗框來匹配整個字符或者大小寫。假設要搜索規那么的表達式.,!,?等等,選中"Regular Expression"檢驗框,然后點擊"Replace"或者"Replace A

38、ll"。注意:小心使用"Replace All",尤其交換數字字符串的時候。腳本生成器將會交換字符出現的所有情況。7、假設想用以前定義過的參數來交換常量字符串的話,選中該字符串,點擊右鍵,然后選擇"Use Existing Parameter",子菜單"Use Existing Parameters"彈出。從子菜單"Use Existing Parameters"選擇參數,或者用"Select from Parameter List"來翻開參數列表對話框。注意:假設用以前定義過的參數來

39、交換常量字符串的話,那么,使用"Parameter List"非常方便。同時,還可以查看和修改該參數的屬性。8、對于已經用參數交換過的地方,假設想取回原來的值,那么,就在參數上點擊右鍵,然后選擇"Restore Original Value"。在Web用戶腳本的樹形視圖中創立參數在Web用戶腳本的樹形視圖中創立一個參數的步驟1、將光標定位在企圖參數化的地方,點擊右鍵,從彈出的菜單中選擇"Properties"。那么相關的屬性對話框翻開。2、點擊在要參數化的參量的旁邊的"ABC"形狀的圖標。"Select

40、or Create Parameter"對話框翻開。3、在"Parameter name"中輸入參數的名稱,或者從列表中選擇一個已經存在的參數。4、在"Parameter type"中輸入參數的類型。5、點擊"OK"關閉該對話框。用戶腳本生成器會用參數來交換最初的字符串常量,并用一個表格形狀的圖標交換"ABC"形狀的圖標。6、要恢復參數化以前的值,點擊圖標,然后從彈出的菜單中選擇"Undo Parameter",那么以前的值便會重現。三、定義參數的屬性創立參數完成后,就可以定義其屬性了

41、。參數的屬性定義就是定義在腳本執行過程中,參數使用的數據源。在Web用戶腳本中,你既可以在基于文本的腳本視圖中定義參數屬性,也可以在基于圖標的樹形視圖中定義參數屬性。下面的過程將教你如何在基于本文的腳本視圖中定義參數屬性。定義參數屬性步驟:1、在參數上點擊右鍵,有菜單彈出。2、在彈出的菜單中,選擇"Parameter Properties"。參數屬性對話框翻開,顯示和當前參數類型相關的屬性。3、輸入參數的屬性值。4、點擊"Close"關閉參數屬性對話框。在Web用戶腳本的樹形視圖中定義參數的屬性1、將關標定位在參數上,然后點擊右鍵,選擇"Pro

42、perties"。屬性對話框翻開。2、點擊要定義屬性的參數旁邊的表格形狀按鈕,點擊右鍵,選擇"Parameter Properties"。參數屬性對話框翻開,和參數類型相關的屬性顯示出來。3、輸入參數的屬性。4、點擊"Close"關閉參數屬性對話框。使用參數列表使用參數列表可以在任意時刻查看所有的參數,創立新的參數、刪除參數,或者修改已經存在參數的屬性。要使用參數列表:1、點擊參數列表按鈕或者用"Vuser Parameter List"。參數列表對話框翻開。2、要創立新的參數,點擊"New"按鈕。新的參

43、數那么被添加在參數樹中,該參數有一個臨時的名字,你可以給它重新命名,然后回車。注意:不要將一個參數命名為"unique",因為這個名稱是用戶腳本生成器本身的。設置參數的類型和屬性,點擊"OK",關閉參數列表對話框。注意:用戶腳本生成器創立新的參數,但是不會自動用該參數在腳本中交換任意選中的字符串。3、要刪除已有的參數,那么,要先從參數樹中選擇該參數,點擊"Delete",然后確認你的行為即可。4、要修改已有參數,那么,要先從參數樹中選擇該參數,然后編輯參數的類型和屬性。四、理解參數的類型在你定義參數屬性的時候,要指定參數值的數據源。你

44、可以指定以下數據源類型的任何一種:Internal Data虛擬用戶內部產生的數據。Data Files存在于文件中的數據。可能是已存在的文件或者是用腳本生成器新創立的。User-Defined Functions調用外部DLL函數生成的數據Internal Data包括以下幾種:1.Date/Time Date/Time用當前的日期/時間交換參數。要指定一個Date/Time格式,你可以從菜單列表中選擇格式,或者指定你自己的格式。這個格式應該和你腳本中錄制的Date/Time格式保持一致。2.Group Name Group Name用虛擬用戶組名稱交換參數。在創立scenario的時候,你

45、可以指定虛擬用戶組的名稱。當從用戶腳本生成器運行腳本的時候,虛擬用戶組名稱總是None。3.Load Generator Name Load Generator Name用腳本負載生成器的名稱交換參數。負載生成器是虛擬用戶在運行的計算機。4.Iteration Number Iteration Number用當前的迭代數目交換參數。5.Random Number Random Number用一個隨機數交換參數。通過指定最大值和最小值來設置隨機數的范圍。6.Unique Number Unique Number用一個唯一的數字來交換參數。你可以指定一個起始數字和一個塊的大小。7.Vuser ID

46、 Vuser ID用分配給虛擬用戶的ID交換參數,ID是由Loadrunner的控制器在scenario運行時生成的。假設你從腳本生成器運行腳本的話,虛擬用戶的ID總是-1。五、數據文件數據文件包含著腳本執行過程中虛擬用戶訪問的數據。部分和全局文件中都可以存儲數據。可以指定現有的ASCII文件、用腳本生成器創立一個新的文件或者引入一個數據庫。在參數有很多值的時候數據文件非常有用。數據文件中的數據是以表的形式存儲的。一個文件中可以包含很多參數值。每一列包含一個參數的數據。列之間用分隔符隔開,比方說,用逗號。對數據文件設置參數屬性假設使用文件作為參數的數據源,必須指定以下內容:1.文件的名稱和位置

47、2.包含數據的列3.文件格式,包括列的分隔符4.更新方法假設參數的類型是"File",翻開參數屬性Parameter Properties對話框,設置文件屬性如下:1.在"File path"中輸入文件的位置,或者點擊"Browse"指定一個已有文件的位置。缺省情況下,所有新的數據文件名都是"parameter_name.dat",注意,已有的數據文件的后綴必須是.dat。2.點擊"Edit"。記事本翻開,里面第一行是參數的名稱,第二行是參數的初始值。使用諸如逗號之類的分隔符將列隔開。對于每一新

48、的表行開場一行新的數據。注意:在沒有啟動記事本的情況下假設想添加列,就在參數屬性對話框中點擊"Add Col",那么"Add new column"對話框就會彈出。輸入新列的名稱,點擊"OK"。腳本生成器就會添加該列到表中,并顯示該列的初始值。3.在"Select Column"部分,指明包含當前參數數據的列。你可以指定列名或者列號。列號是包含你所需要數據的列的索引。列名顯示在每列的第一行row 0。4.在"Column delimiter"中輸入列分隔符,你可以指定逗號、空格符等等。5.在&q

49、uot;First data line"中,在腳本執行的時候選擇第一行數據使用。列標題是第0行。假設從列標題后面的第一行開場的話,那就在"First data line"中輸入1。假設沒有列標題,就輸入0。6.在"Select next row"中輸入更新方法,以說明虛擬用戶在腳本執行的過程中如何選擇表中的數據。方法可以是:連續的、隨機的、唯一的、或者與其它參數表的一樣行。7.選中"Advance row each iteration"表示虛擬用戶在每次迭代都使用新的一行數據而不是所有的迭代都使用一樣的數據。從文件中更新參數

50、值假設使用文件中的數值,腳本生成器會要求你指定給參數分配數值給的方法。可用的方法有:1.順序Sequential:該方法順序地給虛擬用戶分配參數值。假設正在運行的虛擬用戶訪問數據表的時候,它會取到下一行中可用的數據。2.隨機Random:該方法在每次迭代的時候會從數據表中取隨機數3.使用種子取隨機順序Use Random Sequence with Seed:假設從Loadrunner的控制器來運行scenario,你可以指定一個種子數值用于隨機順序。每一個種子數值在測試執行的時候代表了一個隨機數的順序。無論你何時使用這個種子數值,在scenario中同樣的數據順序就被分配給虛擬用戶。假設在測

51、試執行的時候發現了一個問題并且企圖使用同樣的隨機數序列來重復測試,那么,你就可以啟動這個功能可選項。4.唯一Unique:Unique方法分配一個唯一的有順序的值給每個虛擬用戶的參數。5.與以前定義的參數取同一行Same Line As:該方法從和以前定義過的參數中的同樣的一行分配數據。你必須指定包含有該數據的列。在下拉列表中會出現定義過的所有參數列表。注意:至少其中的一個參數必須是Sequential、Random或者Unique。假設數據表中有三列,三個參數定義在列表中:id1,name1和title1,如下:。ID Name Title 132 Kim Manager 187 Cassi

52、e Engineer 189 Jane VP對于參數id1,你可以指示虛擬用戶使用Random方法,而為參數name1和title1就可以指定方法"Same Line as id1"。所以,一旦ID"132"被使用,那么,姓名Name"Kim"和職位Title"Manager"同時被使用。六、從已存在的數據庫中導入數據Loadrunner允許你利用參數化從已經存在的數據庫中導入數據。可以使用以下兩種方式之一:1.使用Microsoft Query要求在系統上先安裝MS Query。2.指定數據庫連接字符串和SQL語句。用戶腳本生成器在從數據庫中導入數據的過程中提供了一個向導。在向導中,你指明如何導入數據-通過MS Query創立查詢語句或者直接書寫SQL語句。在導入數據以后,以.dat為后綴并作為正規的參數文件保存。要開場導入數據庫中數據的過程,在參

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論