LoadRunner壓力測(cè)試實(shí)例步驟_第1頁
LoadRunner壓力測(cè)試實(shí)例步驟_第2頁
LoadRunner壓力測(cè)試實(shí)例步驟_第3頁
LoadRunner壓力測(cè)試實(shí)例步驟_第4頁
LoadRunner壓力測(cè)試實(shí)例步驟_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 論壇 測(cè)試資源交流區(qū)專用LoadRunner壓力測(cè)試實(shí)例摘要:本文通過實(shí)例講解介紹了LoadRunner 工具的使用,介于公司的實(shí)際情況,文中主要是對(duì)工具的基本使用做了詳細(xì)描述,高級(jí)運(yùn)用方面除性能計(jì)數(shù)器與參數(shù)設(shè)置外其它均未涉及,待以后補(bǔ)充。目的是使公司人員根據(jù)該手冊(cè)便可以獨(dú)立運(yùn)用Loadrunner進(jìn)行壓力測(cè)試主題詞:Loadrunner 工具 壓力測(cè)試1 LoadRunner 概要介紹LoadRunner 是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載測(cè)試工具。通過以模擬上千萬用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來確認(rèn)和查找問題,LoadRunner 能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行測(cè)試。通過使用Load

2、Runner , 企業(yè)能最大限度地縮短測(cè)試時(shí)間, 優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。目前企業(yè)的網(wǎng)絡(luò)應(yīng)用環(huán)境都必須支持大量用戶,網(wǎng)絡(luò)體系架構(gòu)中含各類應(yīng)用環(huán)境且由不同供應(yīng)商提供軟件和硬件產(chǎn)品。難以預(yù)知的用戶負(fù)載和愈來愈復(fù)雜的應(yīng)用環(huán)境使公司時(shí)時(shí)擔(dān)心會(huì)發(fā)生用戶響應(yīng)速度過慢, 系統(tǒng)崩潰等問題。這些都不可避免地導(dǎo)致公司收益的損失。Mercury Interactive 的 LoadRunner 能讓企業(yè)保護(hù)自己的收入來源, 無需購置額外硬件而最大限度地利用現(xiàn)有的IT 資源, 并確保終端用戶在應(yīng)用系統(tǒng)的各個(gè)環(huán)節(jié)中對(duì)其測(cè)試應(yīng)用的質(zhì)量, 可靠性和可擴(kuò)展性都有良好的評(píng)價(jià)。LoadRunner 是一種適用于各種體系

3、架構(gòu)的自動(dòng)負(fù)載測(cè)試工具, 它能預(yù)測(cè)系統(tǒng)行為并優(yōu)化系統(tǒng)性能。LoadRunner 的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng), 它通過模擬實(shí)際用戶的操作行為和實(shí)行實(shí)時(shí)性能監(jiān)測(cè), 來幫助您更快的查找和發(fā)現(xiàn)問題。此外,LoadRunner 能支持廣范的協(xié)議和技術(shù), 為您的特殊環(huán)境提供特殊的解決方案。1.1 基本步驟使用LoadRunner 完成測(cè)試一般分為四個(gè)步驟:1)Vvitrual User Generator 創(chuàng)建腳本² 創(chuàng)建腳本,選擇協(xié)議² 錄制腳本² 編輯腳本² 檢查修改腳本是否有誤2)中央控制器(Controller)來調(diào)度虛擬用戶² 創(chuàng)建Scenari

4、o,選擇腳本² 設(shè)置機(jī)器虛擬用戶數(shù)² 設(shè)置Schedule² 如果模擬多機(jī)測(cè)試,設(shè)置Ip Spoofer3)運(yùn)行腳本² 分析scenario4)分析測(cè)試結(jié)果2 安裝LoadRunner 中文版LoadRunner 分為Windows 版本和Unix 版本。如果我們的所有測(cè)試環(huán)境基于Windows 平臺(tái), 那么我們只要安裝Windows 版本即可。本章講解的安裝過程就是LoadRunner7.8中文的Windows 版本的安裝。2.1 系統(tǒng)要求目前部門的測(cè)試機(jī)和工作機(jī)器足可以滿足LoadRunner7.8 的最低要求。不過要比較好的運(yùn)行LoadRunner

5、, 內(nèi)存最好在512M 以上, 安裝LoadRunner 的磁盤空間至少剩余500M。操作系統(tǒng)最好為Windows 2000。2.2 安裝過程 LoadRunner7.8中文版安裝基本分兩個(gè)步驟:首先安裝LoadRunner7.8英文原版,然后安裝中文語言插件包LoadRunner7.8英文原版存放位置:39 test toolsLR7.8nt.rar將壓縮文件拷貝解壓到本機(jī)的安裝,過程比較簡單要開始安裝LoadRunner,以Administrator 的身份登陸Windows2000 后,運(yùn)行LoadRunner 安裝目錄下Setup.exe 即可進(jìn)入安裝程序。1.

6、 在“Registration Information” 界面中, 輸入序列號(hào)( 不用改動(dòng), 就是n 個(gè)8)2. 在安裝類型界面中, 選擇一種安裝類型下面簡單的對(duì)這三種安裝類型進(jìn)行介紹Standalone Installation 將要安裝LoadRunner 在一臺(tái)計(jì)算機(jī)上Network Installation 把LoadRunner 安裝在一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器上, 這樣任何能連接到這個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器的計(jì)算機(jī)都可以使用LoadRunner 的部分或者全部組件。Network Installation and shortcuts 和Network Installation 類似,不同的只是這種類型將把

7、自己的計(jì)算機(jī)配置成Workstation 來運(yùn)行LoadRunner。如果選擇了第二項(xiàng), 我們還需要進(jìn)行2.3 的安裝來配置Workstation.??紤]到我們是自己學(xué)習(xí)研究學(xué)習(xí), 選擇第一種安裝方法。3. 在安裝方式界面中, 需要選擇一種安裝方式。建議選擇“ 自定義安裝”, 這樣所有的組件都會(huì)一次安裝。下面簡單的對(duì)各個(gè)安裝方式進(jìn)行介紹Typical Installation 安裝比較通用的組件, 包括Controller、Vuser、在線幫助和腳該選項(xiàng)適合于控制Vusers 的機(jī)器。Load Generator 只安裝運(yùn)行Vusers 產(chǎn)生負(fù)載的組件。該選項(xiàng)適合于只產(chǎn)生負(fù)載, 而不控制Vus

8、ers 的機(jī)器。MI Listener 安裝MI Listener 組件, 用來透過防火墻來運(yùn)行Vusers 并且監(jiān)視性能。Custom Installation 自定義安裝, 我們將使用該選項(xiàng), 安裝全部的組件。4. 在“License Information” 中輸入License Key 后,Next, 繼續(xù) 100個(gè)用戶(無時(shí)間限制):AEAMAUIK-YAFEKEKJJKEEA-BCJGI 10000個(gè)用戶(有時(shí)間限制):AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB5. 如果是網(wǎng)絡(luò)安裝,最好把網(wǎng)絡(luò)驅(qū)動(dòng)器映射成本機(jī)的一個(gè)盤符, 安裝LoadRunne

9、r 的各級(jí)目錄不要包含中文字符。6. Next 后進(jìn)入拷貝文件的界面7. 拷貝文件完成后, 進(jìn)入“User Login Settings” 界面。Allow virtual users to run on this machine without user login 需要在下面輸入域、用戶名和密碼, 這樣運(yùn)行Load Generator 的機(jī)器會(huì)自動(dòng)登陸到網(wǎng)絡(luò), Manual log in to the Load Generator machine 運(yùn)行Vusers 時(shí), 自動(dòng)登陸到網(wǎng)絡(luò), 無需登陸用戶名和密碼, 這樣Vusers 就會(huì)不用任何干預(yù)自動(dòng)的啟動(dòng)運(yùn)行。推薦選擇該項(xiàng)。這里選擇第一項(xiàng)

10、和第二項(xiàng)都可以。8. 重新啟動(dòng), 安裝完成LoadRunner7.8英文原版存放位置:39test tools LoadRunner7.8中文版.rar將壓縮文件拷貝解壓到本機(jī)的安裝.。過程比較簡單要開始安裝以Administrator 的身份登陸Windows2000 后,(注意要退出已經(jīng)運(yùn)行的英文原版)運(yùn)行安裝目錄下Setup.exe 即可進(jìn)入安裝程序,安裝過程中一切人機(jī)交流窗口多選擇默認(rèn)“下一步”即可注意:解壓文件存放的文件夾不可起中文名字,安裝目錄最好使用默認(rèn),如果更改則安裝目錄不要使用中文名!3項(xiàng)目背景介紹3.1 背景概述“LMS網(wǎng)校考試平臺(tái)”是一個(gè)典型的三層

11、B/S架構(gòu)的MIS系統(tǒng)(客戶端/應(yīng)用服務(wù)器/數(shù)據(jù)庫管),中間層是業(yè)務(wù)邏輯層,應(yīng)用服務(wù)器處理所有的業(yè)務(wù)邏輯,但應(yīng)用服務(wù)器本身不提供負(fù)載均衡的能力,而是利用開發(fā)工具提供的ORB(對(duì)象請(qǐng)求代理)軟件保證多個(gè)應(yīng)用服務(wù)器間的負(fù)載均衡。本次測(cè)試的目的是:進(jìn)行應(yīng)用服務(wù)器的壓力測(cè)試,找出應(yīng)用服務(wù)器能夠支持的最大客戶端數(shù)。方法是:按照正常業(yè)務(wù)壓力估算值的110倍進(jìn)行測(cè)試,考察應(yīng)用服務(wù)器的運(yùn)行情況。3.2壓力測(cè)試用例 場景描述一:1 用戶登錄的lmm模塊,總共登陸24個(gè)用戶,所有用戶都同時(shí)并發(fā)操作。 2 用戶點(diǎn)擊“登記的教程”3 用戶點(diǎn)擊“啟動(dòng)”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4 在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先

12、,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí)。5 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊,點(diǎn)擊“退出”按鈕,退出系統(tǒng)場景描述二:1. 用戶登陸lmm模塊,總共登錄48個(gè)用戶,每1秒登錄1個(gè)用戶2. 用戶點(diǎn)擊“已登記教程”3. 用戶點(diǎn)擊“啟動(dòng)”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4. 在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí);5. 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊,點(diǎn)擊“退出”按鈕,退出系統(tǒng)場景描述三:1 用戶登錄的lmm模塊,總共登陸48個(gè)用戶,所有用戶都同時(shí)并發(fā)操作。 2 用戶點(diǎn)擊“登記的教程”3 用戶點(diǎn)擊“啟動(dòng)”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4

13、在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí)。5 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊點(diǎn)擊“退出”按鈕,退出系統(tǒng)場景描述四:1 用戶登錄的lmm模塊,總共登陸48個(gè)用戶,每秒同時(shí)登錄10個(gè)用戶。 2 用戶點(diǎn)擊“登記的教程”3 用戶點(diǎn)擊“啟動(dòng)”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4 在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí)。5 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊,點(diǎn)擊“退出”按鈕,退出系統(tǒng)場景描述五:1 用戶登錄的lmm模塊,總共登陸100個(gè)用戶,所有用戶同時(shí)并發(fā)操作。 2 用戶點(diǎn)擊“登記的教程”3 用戶點(diǎn)擊“啟動(dòng)

14、”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4 在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí)。5 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊場景描述六:1 用戶登錄的lmm模塊,總共登陸200個(gè)用戶,所有用戶同時(shí)并發(fā)操作2 用戶點(diǎn)擊“登記的教程”3 用戶點(diǎn)擊“啟動(dòng)”,進(jìn)行課程學(xué)習(xí),進(jìn)入DS模塊4 在DS模塊中進(jìn)行學(xué)習(xí),過程包括:首先,點(diǎn)擊一次課程結(jié)構(gòu)樹;然后,進(jìn)行課程內(nèi)容的學(xué)習(xí)。5 點(diǎn)擊“返回LMS”按鈕,返回到lmm模塊,點(diǎn)擊“退出”按鈕,退出系統(tǒng)場景描述七:1 戶登錄的lmm模塊,總共登陸24個(gè)用戶。所有用戶都同時(shí)并發(fā)操作 2 所有用戶都同時(shí)并發(fā)操作,戶點(diǎn)擊“登記的教

15、程”中“test”課件使用自發(fā)測(cè)試工具,目的測(cè)試24個(gè)用戶同時(shí)打開課件時(shí)服務(wù)器性能場景描述八:1 登錄的lmm模塊,總共登陸60個(gè)用戶。所有用戶都同時(shí)并發(fā)操作 2 有用戶都同時(shí)并發(fā)操作,戶點(diǎn)擊“登記的教程”中“test”課件使用自發(fā)測(cè)試工具,目的測(cè)試60個(gè)用戶同時(shí)打開課件時(shí)服務(wù)器性能4使用LoadRunner進(jìn)行負(fù)載/壓力測(cè)試4.1錄制基本的用戶腳本創(chuàng)建用戶腳本需要用到VuGen。提示: 運(yùn)行VuGen 最好在1024*768 的分辨率下, 否則有些工具欄會(huì)看不到。啟動(dòng)Visual User Generator 后, 通過菜單新建一個(gè)用戶腳本, 選擇系統(tǒng)通訊的協(xié)議。這里我們需要測(cè)試的是Web

16、應(yīng)用,同時(shí)考慮到后臺(tái)SQL數(shù)據(jù)庫所以我們需要選擇Web(HTTP/HTML)協(xié)議SQL SERVER協(xié)議,確定后, 進(jìn)入主窗體。通過菜單來啟動(dòng)錄制腳本的命令。在URL 中添入要測(cè)試的Web 站點(diǎn)地址.。測(cè)試 默認(rèn)情況下是“Action”。這里簡單說明一下:VuGen 中的腳本分為三部分:vuser_init、vuser_end 和Action。其中vuser_init 和vuser_end 都只能存在一個(gè), 不能再分割, 而Action 還可以分成無數(shù)多個(gè)部分( 通過點(diǎn)擊New 按鈕, 新建ActionXXX)。在錄制需要登陸的系統(tǒng)時(shí), 我們把登陸部分放到vuser_init 中, 把登陸后的

17、操作部分放到Action 中, 把注銷關(guān)閉登陸部分放到vuser_end 中。( 如果需要在登陸操作設(shè)集合點(diǎn), 那么登陸操作也要放到Action 中, 因?yàn)関user_init 中不能添加集合點(diǎn)) 在其他情況下, 我們只要把操作部分放到Action 中即可。注意: 在重復(fù)執(zhí)行測(cè)試腳本時(shí),vuser_init 和vuser_end 中的內(nèi)容只會(huì)執(zhí)行一次, 重復(fù)執(zhí)行的只是Action 中的部分。點(diǎn)“ 選項(xiàng) ”按鈕, 進(jìn)入錄制的設(shè)置窗體, 這里一般情況下不需要改動(dòng)。然后點(diǎn)“OK” 后,VuGen 開始錄制腳本。在錄制過程中, 不要使用瀏覽器的“ 后退” 功能,LoadRunner 支持不太好! 錄制

18、過程中, 在屏幕上會(huì)有一個(gè)工具條出現(xiàn)。錄制的過程和WinRunner 有些類似, 不再多介紹。錄制完成后, 按下“ 結(jié)束錄制” 按鈕,VuGen 自動(dòng)生成用戶腳本, 退出錄制過程。4.2 完善測(cè)試腳本當(dāng)錄制完一個(gè)基本的用戶腳本后, 在正式使用前我們還需要完善測(cè)試腳本, 增強(qiáng)腳本的靈活性。一般情況下, 我們通過以下幾種方法來完善測(cè)試腳本。插入事務(wù)、插入結(jié)合點(diǎn)、插入注解、參數(shù)化輸入。這里只舉例介紹參數(shù)化如何設(shè)置,其它只作簡單介紹。4.2.1 插入事務(wù)事務(wù)(Transaction): 為了衡量服務(wù)器的性能, 我們需要定義事務(wù)。比如: 我們?cè)谀_本中有一個(gè)數(shù)據(jù)查詢操作, 為了衡量服務(wù)器執(zhí)行查詢操作的性能

19、, 我們把這個(gè)操作定義為一個(gè)事務(wù), 這樣在運(yùn)行測(cè)試腳本時(shí),LoadRunner 運(yùn)行到該事務(wù)的開始點(diǎn)時(shí),LoadRunner 就會(huì)開始計(jì)時(shí), 直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn), 計(jì)時(shí)結(jié)束。這個(gè)事務(wù)的運(yùn)行時(shí)間在結(jié)果中會(huì)有反映。插入事務(wù)操作可以在錄制過程中進(jìn)行, 也可以在錄制結(jié)束后進(jìn)行。LoadRunner 運(yùn)行在腳本中插入不限數(shù)量的事務(wù)。具體的操作方法如下: 在需要定義事務(wù)的操作前面, 通過菜單或者工具欄插入。輸入該事務(wù)的名稱。注意: 事務(wù)的名稱最好要有意義, 能夠清楚的說明該事務(wù)完成的動(dòng)作。插入事務(wù)的開始點(diǎn)后, 下面需要在需要定義事務(wù)的操作后面插入事務(wù)的“ 結(jié)束點(diǎn)”。同樣可以通過菜單或者工具欄插入。默

20、認(rèn)情況下, 事務(wù)的名稱列出最近的一個(gè)事務(wù)名稱。一般情況下, 事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認(rèn)情況下是LR_AUTO。一般情況下, 我們也不需要修改, 除非在手工編寫代碼時(shí), 有可能需要手動(dòng)設(shè)置事務(wù)的狀態(tài)。4.2.2 插入集合點(diǎn)插入集合點(diǎn)是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況。在測(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)在集合

21、點(diǎn)等待的用戶達(dá)到1000 人時(shí),LoadRunner 命令1000 人同時(shí)去提交數(shù)據(jù), 從而達(dá)到測(cè)試計(jì)劃中的需求。注意: 集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來使用。集合點(diǎn)只能插入到Action 部分,vuser_init 和vuser_end 中不能插入集合點(diǎn)。具體的操作方法如下: 在需要插入集合點(diǎn)的前面, 通過菜單或者工具欄操作輸入該集合點(diǎn)的名稱。注意: 集合點(diǎn)的名稱最好要有意義, 能夠清楚的說明該集合點(diǎn)完成的動(dòng)作。4.2.3 插入注釋注釋的作用就不多說了, 不過插入注釋最好是在錄制過程中。具體的操作方法如下: 在需要插入注釋的前面, 通過菜單或者工具欄操作4.2.4 參數(shù)化輸入如果用戶在錄制腳本過程中

22、, 填寫提交了一些數(shù)據(jù), 比如要增加數(shù)據(jù)庫記錄。這些操作都被記錄到了腳本中。當(dāng)多個(gè)虛擬用戶運(yùn)行腳本時(shí), 都會(huì)提交相同的記錄, 這樣不符合實(shí)際的運(yùn)行情況, 而且有可能引起沖突。為了更加真實(shí)的模擬實(shí)際環(huán)境, 需要各種各樣的輸入。參數(shù)化輸入是一種不錯(cuò)的方法。用參數(shù)表示用戶的腳本有兩個(gè)優(yōu)點(diǎn): 可以使腳本的長度變短。 可以使用不同的數(shù)值來測(cè)試你的腳本。例如, 如果你企圖搜索不同名稱的圖書, 你僅僅需要寫提交函數(shù)一次。在回放的過程中, 你可以使用不同的參數(shù)值, 而不只搜索一個(gè)特定名稱的值。參數(shù)化包含以下兩項(xiàng)任務(wù): 在腳本中用參數(shù)取代常量值。 設(shè)置參數(shù)的屬性以及數(shù)據(jù)源。參數(shù)化僅可以用于一個(gè)函數(shù)中的參量。你不

23、能用參數(shù)表示非函數(shù)參數(shù)的字符串。另外, 不是所有的函數(shù)都可以參數(shù)化的。參數(shù)化輸入的講解, 我們采用一個(gè)例子的方式來進(jìn)行。在本例中我們參數(shù)化用戶的登陸名:先看如下腳本,通過腳本錄制找到用戶登陸部分,如圖框選住登陸名,點(diǎn)鼠標(biāo)右鍵,彈出對(duì)話框,選擇“替換為新參數(shù)”彈出對(duì)話框參數(shù)名隨意取,建議取通俗易懂的名字,下面我們重點(diǎn)介紹一下參數(shù)的類型。DateTime: 很簡單, 在需要輸入日期/時(shí)間的地方, 可以用DateTime 類型來替代。其屬性設(shè)置也很簡單, 選擇一種格式即可。當(dāng)然也可以定制格式。.Group Name:暫時(shí)不知道何處能用到,但設(shè)置比較簡單。在實(shí)際運(yùn)行中,LoadRunner 使用該虛擬

24、用戶所在的Vuser Group 來代替。但是在VuGen 中運(yùn)行時(shí),Group Name 將會(huì)是None .Load Generator Name: 在實(shí)際運(yùn)行中,LoadRunner 使用該虛擬用戶所在Load Generator 的機(jī)器名來代替。.Iteration Number: 在實(shí)際運(yùn)行中,LoadRunner 使用該測(cè)試腳本當(dāng)前循環(huán)的次數(shù)來代替。.Random Number: 隨機(jī)數(shù)。很簡單。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機(jī)數(shù)的范圍.Unique Number:唯一的數(shù)。在屬性設(shè)置中可以設(shè)置第一個(gè)數(shù)以及遞增的數(shù)的大小。注意: 使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如: 某個(gè)文本框

25、能接受的最大數(shù)為99。當(dāng)使用該參數(shù)類型時(shí), 設(shè)置第一個(gè)數(shù)為1, 遞增的數(shù)為1, 但100 個(gè)虛擬用戶同時(shí)運(yùn)行時(shí),第100 個(gè)虛擬用戶輸入的將是100,這樣腳本運(yùn)行將會(huì)出錯(cuò)。注意: 這里說的遞增意思是各個(gè)用戶取第一個(gè)值的遞增數(shù), 每個(gè)用戶相鄰的兩次循環(huán)之間的差值為1。舉例說明: 假如起始數(shù)為1, 遞增為5, 那么第一個(gè)用戶第一次循環(huán)取值1, 第二次循環(huán)取值2; 第二個(gè)用戶第一次循環(huán)取值為6, 第二次為7; 依次類推。Vuser ID: 設(shè)置比較簡單。在實(shí)際運(yùn)行中,LoadRunner 使用該虛擬用戶的ID 來代替,該ID 是由Controller 來控制的。但是在VuGen 中運(yùn)行時(shí),Vuser

26、 ID 將會(huì)是1。File: 需要在屬性設(shè)置中編輯文件,添加內(nèi)容,也可以從現(xiàn)成的數(shù)據(jù)庫中取數(shù)據(jù)( 下面我們將會(huì)介紹) User Defined Function: 從用戶開發(fā)的dll 文件提取數(shù)據(jù)。就目前我認(rèn)為, 這種方式?jīng)]有必要。VuGen 支持C 語言的語法,在VuGen 中重新編寫類似的函數(shù)應(yīng)該不難。上面的例子中, 我們?nèi)‰S機(jī)數(shù)即可。點(diǎn)“Properties .” 按鈕, 進(jìn)行屬性設(shè)置窗口添入隨機(jī)數(shù)的取值范圍為(1-50), 選擇一種數(shù)據(jù)格式。在“屬性” 中有以下幾個(gè)選項(xiàng): Each Occurrence:在運(yùn)行時(shí), 每遇到一次該參數(shù), 便會(huì)取一個(gè)新的值Each iteration:運(yùn)行

27、時(shí), 在每一次循環(huán)中都取相同的值Once:運(yùn)行時(shí), 在每次循環(huán)中, 該參數(shù)只取一次值這里我們用的是隨機(jī)數(shù), 選擇Each Occurrence 非常合適。下面我們?cè)俳榻B用數(shù)據(jù)庫中的用戶名來參數(shù)化登陸用戶名??蜻x住登陸名,點(diǎn)鼠標(biāo)右鍵,彈出對(duì)話框,選擇“替換為新參數(shù)”彈出對(duì)話框,此時(shí)參數(shù)名輸入:name,參數(shù)類型選擇File,如圖點(diǎn)“屬性”按鈕, 出現(xiàn)以下窗口注意: 參數(shù)的文件名不要使用con.dat、pm.dat 或者lpt*.dat 等系統(tǒng)裝置名下面我們將會(huì)連接數(shù)據(jù)庫, 從數(shù)據(jù)表中選擇用戶名。點(diǎn)“數(shù)據(jù)向?qū)А?按鈕,顯示如圖使用第2 項(xiàng), 選擇“使用手動(dòng)指定SQL語句”點(diǎn)下一步,出現(xiàn)如圖窗口添入

28、連接字符串, 點(diǎn)“創(chuàng)建” 按鈕,選擇事先配置好的ODBC連接。在SQL語句里輸入select查詢語句,出現(xiàn)如圖窗口從哪一行開始取值按列名稱取值提醒: 在參數(shù)數(shù)據(jù)顯示區(qū), 最多只能看到100 行, 如果數(shù)據(jù)超過100 行, 只能點(diǎn)“編輯” 按鈕, 進(jìn)入記事本看。“選擇下一行 ” 有以下幾種選擇: Sequential: 按照順序一行行的讀取。每一個(gè)虛擬用戶都會(huì)按照相同的順序讀取Random: 在每次循環(huán)里隨機(jī)的讀取一個(gè), 但是在循環(huán)中一直保持不變 Unique : 唯一的數(shù)。注意: 使用該類型必須注意數(shù)據(jù)表有足夠多的數(shù)。比如Controller 中設(shè)定20 個(gè)虛擬用戶進(jìn)行5 次循環(huán), 那么編號(hào)為

29、1 的虛擬用戶取前5 個(gè)數(shù), 編號(hào)為2 的虛擬用戶取6-10 的數(shù), 依次類推, 這樣數(shù)據(jù)表中至少要有100 個(gè)數(shù)據(jù), 否則Controller 運(yùn)行過程中會(huì)返回一個(gè)錯(cuò)誤。“按編號(hào)”指選擇列表中的那一列數(shù)據(jù),從左到右分別是1、2、3依次通常用在有關(guān)聯(lián)性的數(shù)據(jù)上面。我們這里取值Sequential 即可。完成設(shè)置關(guān)閉即可4.3 單機(jī)運(yùn)行測(cè)試腳本經(jīng)過以上的各個(gè)步驟后, 腳本就可以運(yùn)行了。運(yùn)行腳本可以通過菜單或者工具欄來操作。執(zhí)行“ 運(yùn)行” 命令后,VuGen 先編譯腳本, 檢查是否有語法等錯(cuò)誤。如果有錯(cuò)誤,VuGen 將會(huì)提示錯(cuò)誤。雙擊錯(cuò)誤提示,VuGen 能夠定位到出現(xiàn)錯(cuò)誤的那一行。為了驗(yàn)證腳本

30、的正確性, 我們還可以調(diào)試腳本, 比如在腳本中加斷點(diǎn)等, 操作和在VC 中完全一樣, 相信大家誰都不會(huì)感到陌生。如果編譯通過, 就會(huì)開始運(yùn)行。然后會(huì)出現(xiàn)運(yùn)行結(jié)果。5實(shí)施測(cè)試5.1 選擇腳本,創(chuàng)建虛擬用戶 啟用“controller”彈出如圖窗口修改數(shù)量選擇剛才錄制并保存好的腳本,添加到方案中,點(diǎn)“確定”出現(xiàn)如圖根據(jù)需要修改虛擬用戶數(shù)量,這里我們?nèi) ?00”根據(jù)實(shí)現(xiàn)場景設(shè)計(jì),取不同數(shù)字點(diǎn)“編輯計(jì)劃”細(xì)化方案,計(jì)劃名里選擇計(jì)劃種類:加壓,緩慢加壓、默認(rèn)計(jì)劃或新建立計(jì)劃。² 默認(rèn)計(jì)劃:同時(shí)加載所有vuser,直到完成² 加壓:每15秒啟動(dòng)2個(gè)vuser 持續(xù)時(shí)間5分種²

31、 緩慢加壓:每2分種啟動(dòng)2個(gè)vuser 持續(xù)時(shí)間10分種這里我們選擇“加壓” 出現(xiàn)如圖單位秒內(nèi)同時(shí)加載幾個(gè)vuser 點(diǎn)“加壓”標(biāo)簽設(shè)置加壓方法,點(diǎn)“持續(xù)時(shí)間”標(biāo)簽選擇完成時(shí)間,點(diǎn)“加壓”標(biāo)簽選擇退出方法,點(diǎn)“方案開始時(shí)間”可以定義時(shí)間后自動(dòng)到點(diǎn)執(zhí)行,并在一個(gè)限定的時(shí)間范圍內(nèi)結(jié)束,所有設(shè)置完畢后,點(diǎn)“ok”返回上一級(jí)窗口,點(diǎn)“開始方案”啟動(dòng)運(yùn)行,出現(xiàn)如圖窗口Windows資源監(jiān)視窗口打開可用圖中目錄樹,選擇系統(tǒng)資源找到windows資源5.2 添加windows資源監(jiān)視窗口loadruner默認(rèn)性能監(jiān)視窗口四個(gè),分別是“運(yùn)行vuser“、”事務(wù)響應(yīng)時(shí)間“、“每秒點(diǎn)擊次數(shù)”最后一個(gè)可以根據(jù)用戶自

32、己選擇現(xiàn)實(shí)什么窗口。打開可用圖中目錄樹,選擇系統(tǒng)資源,找到windows資源雙擊,則windows資源監(jiān)視窗口便自動(dòng)替換原窗口如上圖。當(dāng)然loadrunner也可以同時(shí)顯示116個(gè)窗口,方法是點(diǎn)右鍵,在彈出菜單中選擇“查看圖”選擇顯示的圖數(shù),也可以自定義數(shù)字。5.3 添加windows性能計(jì)數(shù)器鼠標(biāo)選擇windows資源監(jiān)視窗口,點(diǎn)擊右鍵彈出菜單中選擇“ADD Measurements.”彈出如圖窗口點(diǎn)“添加”把監(jiān)視的服務(wù)器ip地址輸入,點(diǎn)確定,如圖如果可以正常聯(lián)機(jī)到服務(wù)器,則在資源度量中會(huì)顯示全部計(jì)數(shù)器,此時(shí)如果點(diǎn)“確定”則系統(tǒng)默認(rèn)全部選中,在監(jiān)視窗口中會(huì)顯示所有性能曲線,無法單獨(dú)過濾顯示某

33、條曲線,如果選中某個(gè)計(jì)數(shù)器后點(diǎn)“添加”則彈出該項(xiàng)目下的其它性能指標(biāo),選擇需要的計(jì)數(shù)器后點(diǎn)“添加”如圖 此時(shí)要注意,你登陸客戶端(也就是你裝有l(wèi)oadrunner機(jī)器)的用戶應(yīng)該是管理員身份,同時(shí)還要保證該用戶在被監(jiān)視的服務(wù)器上也是管理員身份。這樣選擇雖然監(jiān)視窗口中仍會(huì)顯示所有性能曲線,但是可以通過鼠標(biāo)右鍵彈出菜單,選中你指定的某條曲線單獨(dú)顯示。方法是雙擊監(jiān)視窗口放大顯示,然后右鍵選擇“僅顯示指定圖”監(jiān)視窗口還可以互相疊加等操作,功能強(qiáng)大,通過右鍵菜單選擇可以進(jìn)行復(fù)雜顯示操作。常用的還有web程序服務(wù)器圖、數(shù)據(jù)庫服務(wù)器資源圖等,添加方法雷同。計(jì)數(shù)器有那些,有什么含義,理想值是多少,可以參見第六章

34、節(jié)。5.4 執(zhí)行腳本此時(shí)設(shè)置完畢后,那就簡單了,點(diǎn)擊“開始方案”注意觀察吧。點(diǎn)一下,ok!5.4.1 分析結(jié)果 腳本執(zhí)行完畢后,loadrunner會(huì)自動(dòng)分析結(jié)果,生成分析結(jié)果圖或表,方法是點(diǎn)導(dǎo)航欄“結(jié)果”選現(xiàn),在彈出窗口中選擇“分析結(jié)果”6 分析以及監(jiān)視場景在運(yùn)行過程中, 可以監(jiān)視各個(gè)服務(wù)器的運(yùn)行情況(DataBase Server、Web Server 等)。監(jiān)視場景通過添加性能計(jì)數(shù)器來實(shí)現(xiàn)。這一章非常的重要, 確定系統(tǒng)瓶頸全靠它了。下面重點(diǎn)講講需要添加那些計(jì)數(shù)器, 以及那些計(jì)數(shù)器代表什么意思。由于Win2000 Professional、Server 以及Advanced Server

35、提供的計(jì)數(shù)器不完全相同, 這里我們討論將以Server 為基準(zhǔn)。監(jiān)視場景需要在Run 視圖中設(shè)置然后, 出現(xiàn)添加計(jì)數(shù)器的對(duì)話框其他的操作就和控制面板“ 性能” 中添加性能計(jì)數(shù)器的操作一樣, 這里不再詳細(xì)說明。本章主要說明一下各個(gè)系統(tǒng)計(jì)數(shù)器的含義( 數(shù)據(jù)庫的計(jì)數(shù)器不做重點(diǎn), 只是拿SQL Server2000 作為例子進(jìn)行說明。因?yàn)閿?shù)據(jù)庫各個(gè)版本之間差異比較大, 請(qǐng)參考您使用的數(shù)據(jù)庫系統(tǒng)的幫助)。6.1 Memory相關(guān)內(nèi)存是第一個(gè)監(jiān)視對(duì)象, 確定系統(tǒng)瓶頸的第一個(gè)步驟就是排除內(nèi)存問題。內(nèi)存短缺的問題可能會(huì)引起各種各樣的問題。Object( 對(duì)象)CountersDescription( 描述)參

36、考值MemoryAvailable MBytes物理內(nèi)存的可用數(shù)( 單位 Mbytes)。默認(rèn)情況下IIS5.0 使用50%的可用物理內(nèi)存, 作為IIS 的文件緩存(file cache)。IIS 基本占用 2.5 MB,每個(gè)附加連接將在此基礎(chǔ)上占用 10 KB 左右至少要有10% 的物理MemoryPage/sec Page Faults/sec Pages Input/secPages Input/sec Page Reads/sec Transition Faults/sec 物理內(nèi)存的可用數(shù)( 單位 Mbytes)。默認(rèn)情況下IIS5.0 使用50%的可用物理內(nèi)存, 作為IIS 的文件

37、緩存(file cache)。IIS 基本占用 2.5 MB,每個(gè)附加連接將在此基礎(chǔ)上占用 10 KB 左右。至少要有10% 的物理內(nèi)存值當(dāng)處理器向內(nèi)存指定的位置請(qǐng)求一頁( 可能是數(shù)據(jù)或代碼) 出現(xiàn)錯(cuò)誤時(shí), 這就構(gòu)成一個(gè)Page Fault。如果該頁在內(nèi)存的其他位置, 該錯(cuò)誤被稱為軟錯(cuò)誤( 用Transition Fault/sec 數(shù)器衡量); 如果該頁必須從硬盤上重新讀取時(shí), 被稱為硬錯(cuò)誤。許多處理器可以在有大軟錯(cuò)誤的情況下繼續(xù)操作。但是, 硬錯(cuò)誤可以導(dǎo)致明顯的拖延。Page Faults/sec 是處理器每秒鐘處理的錯(cuò)誤頁( 包括軟錯(cuò)誤和硬錯(cuò)誤)。Pages Input/sec 是為了解

38、決硬錯(cuò)誤頁, 從硬盤上讀取的頁數(shù), 而Page Reads/sec 是為了解決硬錯(cuò)誤, 從硬盤讀取的次數(shù)。如果 Page Reads/Sec 比率持續(xù)保持為 5, 表示可能內(nèi)存不足。Pages/sec 是指為解析硬頁錯(cuò)誤從磁盤讀取或?qū)懭氪疟P的頁數(shù)。Page/sec 推薦00-20( 如果服務(wù)器沒有足夠的內(nèi)存處理其工作負(fù)荷, 此數(shù)值將一直很高。如果大于80,表示有問題)。這些計(jì)數(shù)器的值比較低, 說明Web服務(wù)器響應(yīng)請(qǐng)求比較快, 否則可能是服務(wù)器系統(tǒng)內(nèi)存短缺引起( 也可能是緩存太大, 導(dǎo)致系統(tǒng)內(nèi)存太少)。Page Input/sec 的值可以衡量出硬錯(cuò)誤頁發(fā)生的速率, 通常它的值會(huì)于或者等于Pag

39、e Reads/sec。Memory Cache BytesMemoryCache Bytes文件系統(tǒng)緩存(File System Cache)默默認(rèn)情況下認(rèn)情況下為50%的可用物理內(nèi)存。如為50%的可IIS5.0 運(yùn)行內(nèi)存不夠時(shí), 它會(huì)自動(dòng)整理用物理內(nèi)存緩存。需要關(guān)注該計(jì)數(shù)器的趨勢(shì)變化Internet File Cache Hits %File Cache Hits %是文件緩存命中全部( 對(duì)于一個(gè)Information File Cache 緩存需求的比例, 反映了IIS 的文件緩大部分是靜Services Flushes 存設(shè)置的工作情況。而File Cache Hits 態(tài)網(wǎng)頁組成Gl

40、obal File Cache Hits 是文件緩存命中的具體值,F(xiàn)ile Cache 的網(wǎng)站)File Flushes 是自服務(wù)器啟動(dòng)之后文件緩存Cache Hits% 刷新次數(shù), 如果刷新太慢, 會(huì)浪費(fèi)內(nèi)存; 如果刷新太快, 緩存中的對(duì)象會(huì)太頻繁屬于非常好! 的丟棄生成, 起不到緩存的作用。通過File Cache Hits 和File Cache Flushes 可以得到一個(gè)適當(dāng)?shù)乃⑿轮担?參考IIS 的設(shè)置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)MemoryPoolPaged BytesPool Nonpaged BytesPool Page

41、d Bytes Pool Nonpaged Bytes 這兩個(gè)計(jì)數(shù)器監(jiān)視服務(wù)器上各個(gè)進(jìn)程的分頁池字節(jié)數(shù)和非分頁池字節(jié)數(shù)。在訪問數(shù)比較固定的情況下, Pool Nonpaged Bytes 是比較定的, 如果訪問數(shù)逐步增加, 該值會(huì)緩慢的增加ProcessVirtual BytesWorking Set 計(jì)數(shù)器Virtual Bytes( 實(shí)Virtual Bytes 數(shù)器監(jiān)視IIS5.0 保留的例inetinfo 、虛地址空間的數(shù)量, 實(shí)例化為inetinfo dllhost) Working Set( 實(shí)例進(jìn)程(IIS 運(yùn)行的核心)和Dllhost 進(jìn)程( 隔離/ 連接池的應(yīng)用程序必需的)。

42、inetinfo 、dllhost) Working Set 計(jì)數(shù)器反映了每個(gè)進(jìn)程使Dllhost#n 進(jìn)程都用的內(nèi)存頁的數(shù)量。系統(tǒng)的內(nèi)存頁(pool 要添加計(jì)數(shù)器Page) 只能由操作系統(tǒng)的核心模塊直接訪問, 用戶進(jìn)程不能訪問。運(yùn)行IIS5.0 的服務(wù)器上, 負(fù)責(zé)web 連接的線程以及它需要的一些對(duì)象都保存在未分頁的池中(nonpaged pool), 比如文件句柄和socket 連接ProcessPrivate Bytes指這個(gè)處理不能與其他處理共享的、已分配的當(dāng)前字節(jié)數(shù)MemoryCommitted Bytes是指以字節(jié)表示的確認(rèn)虛擬內(nèi)存。(確認(rèn)內(nèi)存是指為磁盤分頁文件在磁盤上保留的空間以

43、便在需推薦不超過物理內(nèi)存的75% 要將其寫回磁盤時(shí)使用)推薦部超過物理內(nèi)存的75內(nèi)存問題主要檢查應(yīng)用程序是否存在內(nèi)存泄漏。如果發(fā)生了內(nèi)存泄漏,ProcessPrivate Bytes 計(jì)數(shù)器和ProcessWorking Set 計(jì)數(shù)器的值往往會(huì)升高, 同時(shí)Available Bytes 的值會(huì)降低。內(nèi)存泄漏應(yīng)該通過一個(gè)長時(shí)間的, 用來研究分析當(dāng)所有內(nèi)存都耗盡時(shí), 應(yīng)用程序反應(yīng)情況的測(cè)試來檢驗(yàn)。6.2 Processor相關(guān)Object( 對(duì)象)CountersDescription( 描述)參考值SytemProcessor Queue Length Processor Queue Leng

44、th 是指處理列隊(duì)中的線程數(shù)。即使在有多個(gè)處理器的計(jì)算機(jī)上處理器時(shí)間也會(huì)有一個(gè)單列隊(duì)。不象磁盤計(jì)數(shù)器, 這個(gè)計(jì)數(shù)器僅計(jì)數(shù)就緒的線程, 而不計(jì)數(shù)運(yùn)行中的線程。如果處理器列隊(duì)中總是有兩個(gè)以上的線程通常表示處理器堵塞小于2。顯示在由 Web 服務(wù)器所有處理器共享的隊(duì)列中等待執(zhí)行的線程數(shù)。處理器瓶頸會(huì)導(dǎo)致該值持續(xù)大于2Processor%Processor TimeCPU 使用率。這是查看處理器飽和狀況的最佳計(jì)數(shù)器。顯示所有 CPU 的線程處理時(shí)間。如果一個(gè)或多個(gè)處理器的該數(shù)值持續(xù)超過 90%,則表示此測(cè)試的負(fù)載對(duì)于目前的硬件過于沉重。為多處理器服務(wù)器添加該計(jì)數(shù)器的 0 到 x 個(gè)實(shí)例小于75%。排除

45、內(nèi)存因素, 如果該計(jì)數(shù)器的值比較大, 而同時(shí)網(wǎng)卡和硬盤的值比較低, 那么可以定CPU 瓶頸SystemContext Switches/secContext Switches/sec 指計(jì)算機(jī)上的所有處理器全都從一個(gè)線程轉(zhuǎn)換到另一個(gè)線程的綜合速率。當(dāng)正在運(yùn)行的線程自動(dòng)放棄處理器時(shí)出現(xiàn)上下文轉(zhuǎn)換, 由一個(gè)有更高優(yōu)先就緒的線程占先或在用戶模式和特權(quán)(內(nèi)核)模式之間轉(zhuǎn)換以使用執(zhí)行或分系統(tǒng)服務(wù)。它是在計(jì)算機(jī)上的所有處理器上運(yùn)行的所有線程的Thread: Context Switches/sec 的總數(shù)并且用轉(zhuǎn)換數(shù)量衡量。在系統(tǒng)和線程對(duì)象上有上下文轉(zhuǎn)換計(jì)數(shù)器如果切換次數(shù)到5000*CPU個(gè)數(shù)和10000

46、*CPU 個(gè)數(shù)中, 說明它忙于切換線程而不是處理ASP 腳本Processo%Privileged Time% Privileged Time 是在特權(quán)模式下處理線程執(zhí)行代碼所花時(shí)間的百分比。當(dāng)調(diào)用 Windows 系統(tǒng)服務(wù)時(shí), 此服務(wù)經(jīng)常在特權(quán)模式運(yùn)行, 以便獲取對(duì)系統(tǒng)專有數(shù)據(jù)的訪問。在用戶模式執(zhí)行的線程無法訪問這些數(shù)據(jù)。對(duì)系統(tǒng)的調(diào)用可以是直接的(explicit)或間接的(implicit), 例如頁面錯(cuò)誤或中斷。不像某些早期的操作系統(tǒng),Windows 除了使用用戶和特權(quán)模式的傳統(tǒng)保護(hù)模式之外, 還使用處理邊界作為分系統(tǒng)保護(hù)。某些由Windows 為您的應(yīng)用程序所做的操作除了出現(xiàn)在處理的特

47、權(quán)時(shí)間內(nèi), 還可能在其他子系統(tǒng)處理出現(xiàn)TimeSwitches/sec ( 實(shí)例化inetinfo 和dllhost如果你決定要增加線程字節(jié)池的大小,你應(yīng)該監(jiān)視這三個(gè)計(jì)數(shù)器( 包括上面的一個(gè))。增加線數(shù)可能會(huì)增加上下文切換次數(shù), 這樣性能不會(huì)上升反而會(huì)下降。如果十個(gè)實(shí)例的上下文切換值非常高, 就應(yīng)該減小線程字節(jié)池的大小ProcessorInterrupts/sec %DPC TimeTime 這兩個(gè)計(jì)數(shù)器能夠反映處理器用在處理中斷以及推遲處理調(diào)用的時(shí)間。如果處理器使用率超過Interrupts/sec 指處理器每秒鐘接收并維90% 且 硬件中斷的平均值。正常的線程操作在中斷時(shí)懸停。大多數(shù)的系統(tǒng)

48、時(shí)鐘每Interrupt Time 大于隔 10 毫秒中斷處理器一次, 形成了間15%, 則處理隔活動(dòng)的后臺(tái)如果處理器使用率超過90,且Interrupts/sec time大于15則處理器可能負(fù)載過重,并發(fā)生中斷Processor Interrupts/sec %DPC Time 這兩個(gè)計(jì)數(shù)器能夠反映處理器用在處理中斷以及推遲處理調(diào)用的時(shí)間。如果處理器使用率超過Interrupts/sec 指處理器每秒鐘接收并維90% 且 硬件中斷的平均值。正常的線程操作在中斷時(shí)懸停。大多數(shù)的系統(tǒng)時(shí)鐘每Interrupt Time 大于隔 10 毫秒中斷處理器一次, 形成了間15%, 則處理隔活動(dòng)的后臺(tái)。器

49、可能負(fù)荷過重, 并發(fā)生中斷。判斷應(yīng)用程序是否存在處理器瓶頸的方法: 如果Processor Queue Length 顯示的隊(duì)列長度保持不變(>=2) 個(gè)并且處理器的利用率%Processor Time 超過90%, 那么很有可能存在處理器瓶頸。如果發(fā)現(xiàn)Processor Queue Length 顯示的隊(duì)列長度超過2, 而處理器的利用率卻一直很低, 那么或許更應(yīng)該去解決處理器阻塞問題, 這里處理器一般不是瓶頸。如果系統(tǒng)由于應(yīng)用程序代碼效率低下或者系統(tǒng)結(jié)構(gòu)設(shè)計(jì)有缺陷而導(dǎo)致大量的上下文切換(Context Switches/sec 顯示的上下文切換次數(shù)比較大), 那么就會(huì)占用大量的系統(tǒng)資源

50、。如果系統(tǒng)的吞吐量降低并且CPU 的使用率很高,并且此現(xiàn)象發(fā)生時(shí)切換水平在15000 以上, 那么意味著上下文切換次數(shù)過高同時(shí)還可以比較Context Switches/sec 和%Privileged Time 來判斷上下文切換是否過量。如果后者的值超過40%, 且上下文切換的速率也很高, 那么應(yīng)該檢查為什么會(huì)產(chǎn)生這樣高的上下文切換。6.3 網(wǎng)絡(luò)吞吐量以及帶寬ObjectCounterDescription參考值Network InterfaceBytes Total/seBytes Total/sec 為發(fā)送和接收字節(jié)的速率, 包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速該計(jì)數(shù)器的值和目前網(wǎng)度是否是瓶頸

51、, 可以用該計(jì)數(shù)器的值和絡(luò)的帶寬相目前網(wǎng)絡(luò)的帶寬比較改計(jì)數(shù)器的值和目前網(wǎng)絡(luò)帶寬相除,結(jié)果應(yīng)該小于50%Web ServicMaximum Maximum ConnectionsMaximum Maximum Connections :“ 最大連接數(shù)” Attempts Total Connection Attempts :“ 連接嘗試總數(shù)” 是從服務(wù)啟動(dòng)時(shí)利用 Web 服務(wù)嘗試連接的總數(shù)。該計(jì)數(shù)器應(yīng)用于全部所列的實(shí)例。6.4 磁盤相關(guān)Object( 對(duì)象) Counters( 計(jì)數(shù)器名稱) Description( 描述) 參考值ObjectCountersDescription參考值Netw

52、orkBytes Total/secBytes Total/sec 為發(fā)送和接收字節(jié)的速Interface 率, 包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸, 可以用該計(jì)數(shù)器的值和目前網(wǎng)絡(luò)的帶寬比較Processo%Processor Time% Privileged TimeCPU 使用率該計(jì)數(shù)器對(duì)應(yīng)于處理器執(zhí)行Windows. 2000 內(nèi)核命令( 如處理SQL Server I/O 請(qǐng)求) 所用時(shí)間的百分比。如果 Physical Disk 計(jì)數(shù)器的值很高時(shí)該計(jì)數(shù)器的值也一直很高, 則考慮使用速度更快或效率更高的磁盤子系統(tǒng)。PhysicalDisk%Disk Time% Disk Tim

53、e 指所選磁盤驅(qū)動(dòng)器忙于為讀或?qū)懭胝?qǐng)求提供服務(wù)所用的時(shí)間的百分比。如果三個(gè)計(jì)數(shù)器都比較大, 那么硬盤不是瓶頸。如果只有%Disk Time 比較大, 另外兩個(gè)都比較適中, 硬盤可能會(huì)是瓶頸。在記錄該計(jì)數(shù)器之前, 請(qǐng)?jiān)?Windows 2000 的命令行窗口中運(yùn)行 diskperf -yD 。若數(shù)值持續(xù)超過 80%, 則可能內(nèi)存泄漏。PhysicalDiskAverageDisk Queue Length指讀取和寫入請(qǐng)求(為所選磁盤在實(shí)例間隔中列隊(duì)的)的平均數(shù)。PhysicalDiskPhysicalDisk指在此盤上讀取操作的速率PhysicalDiskDisk Writes/sec指在此盤上

54、寫入操作的速率判斷磁盤瓶頸的方法是通過以下公式來計(jì)算: 每磁盤的I/O 數(shù) = 讀次數(shù) + (4 * 寫次數(shù)) / 磁盤個(gè)數(shù)如果計(jì)算出的每磁盤的I/O 數(shù)大于磁盤的處理能力, 那么磁盤存在瓶頸。6.5 Web應(yīng)用程序這里以ASP.NET 開發(fā)的Web 應(yīng)用程序?yàn)槔M(jìn)行說明。ObjectCountersDescription參考值A(chǔ)SP.NET ApplicationsRequest/Sec Request Executing每秒執(zhí)行的請(qǐng)求數(shù)。如果Request/Sec ApplicationsRequest Executing 當(dāng)前執(zhí)行的請(qǐng)求數(shù)。的值比較小, 你的Web 程序可能是瓶頸ASP.

55、NETASP.NETRequestWait Time Request Executing Time 最近的請(qǐng)求在隊(duì)列中等待的毫秒數(shù)。執(zhí)行最近的請(qǐng)求所用的毫秒數(shù)。Queued 在理想狀況下應(yīng)該接近0, Request Queued 等候處理的請(qǐng)求數(shù)。該計(jì)數(shù)器應(yīng)保持接近 0。超過 IIS 隊(duì)列長度會(huì)出如果這兩個(gè)值太大, 那么需要重現(xiàn)“服務(wù)器太忙”錯(cuò)誤6.6 SQL Server這里針對(duì)SQL Server2000, 而且只是列出比較關(guān)鍵的幾個(gè)。更加詳細(xì)的信息可以參考SQL Server 的聯(lián)機(jī)文檔。Object(CountersDescription參考值Processor%Processor t

56、imeCPU 使用率SQL Server: Logins/sec這是每秒登錄到 SQL Server 的計(jì)數(shù)SQLServer:CacheManageCache Hit Ratio(all instances)顯示在高速緩存中找到數(shù)據(jù)的命中率。如果數(shù)值持續(xù)小于 85%, 則表示內(nèi)存有問題。SQL ServerGeneral StatisticsUser Connections顯示當(dāng)前 SQL 用戶數(shù)。與 Active Server Pages:Requests/Sec 計(jì)數(shù)器進(jìn)行比較, 可幫助了解腳本對(duì) SQL Server 的影響程度。如果差別過大, 則表示測(cè)試腳本不能有效地對(duì)SQL Server 進(jìn)行應(yīng)力測(cè)試。SQLServer:LocksLock Waits/sec顯示在當(dāng)前進(jìn)程完成之前強(qiáng)制其他

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論