




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、利用Web Application Stress Tool(WAS)做性能測(cè)試Duwamish OnlineAaron Ching, Pedro Silva, and Allen WagnerMicrosoft Developer NetworkJanuary 2001摘要:這篇文章討論了性能測(cè)試對(duì)于成功發(fā)布一個(gè)網(wǎng)絡(luò)應(yīng)用的重要性,集中討論了微軟的Web Application Stress (WAS)這個(gè)用于測(cè)試Duwamish Online的性能的工具。內(nèi)容 介紹使用WAS的好處WAS的缺陷安裝WAS創(chuàng)建測(cè)試腳本配置測(cè)試腳本運(yùn)行測(cè)試腳本結(jié)論:最好的習(xí)慣介紹 性能測(cè)試是成功發(fā)布一個(gè)網(wǎng)絡(luò)應(yīng)用的關(guān)
2、鍵因素。當(dāng)越來(lái)越多的用戶訪問(wèn)你的站點(diǎn)時(shí),清楚地知道你的應(yīng)用程序和你的服務(wù)器群是怎樣工作的就顯得非常重要了。為了給你的網(wǎng)絡(luò)應(yīng)用程序模擬出那種類(lèi)型的使用,你可以協(xié)同幾百甚至上千的真實(shí)用戶在一段設(shè)計(jì)好的時(shí)間段里訪問(wèn)你的站點(diǎn),你也可以只與一個(gè)能復(fù)制這么多用戶負(fù)載的測(cè)試工具一起工作,許多性能測(cè)試工具可以幫你的忙。基本上,這些工具都允許你以有限的客戶端模擬大量的虛擬用戶,并發(fā)地訪問(wèn)預(yù)先確定的頁(yè)面或網(wǎng)站的URLs (Uniform Resource Locators)。每一個(gè)虛擬用戶都能精確地仿效在真實(shí)瀏覽器和網(wǎng)站服務(wù)器之間進(jìn)行通訊協(xié)議。在這篇文章里,我們將專(zhuān)注于其中一個(gè)這樣的工具:Microsoft
3、74; Web Application Stress (WAS)工具。你可以在微軟的Microsoft Windows® 2000 Resource Kit CD (WAS version 288)里面找到這個(gè)工具。注意 WAS 不能再?gòu)腗icrosoft的網(wǎng)站下載了,Visual Studio .NET 的企業(yè)架構(gòu) 和企業(yè)開(kāi)發(fā)版本都包含一個(gè)新的網(wǎng)絡(luò)壓力測(cè)試工具,這個(gè)工具叫做Application Center Test,是受Microsoft技術(shù)支持的工具。這個(gè)工具包含在Visual Studio .NET安裝時(shí)的Ent
4、erprise Development Tools部分。在寫(xiě)這篇文章時(shí),Application Center Test還沒(méi)有正式公開(kāi)發(fā)表。關(guān)于如何得到Visual Studio .NET,請(qǐng)?jiān)L問(wèn)Visual Studio網(wǎng)站。使用WAS的好處 首先,我們來(lái)討論一下使用WAS測(cè)試你的應(yīng)用程序的好處。它簡(jiǎn)單 WAS允許你以不同的方式創(chuàng)建測(cè)試腳本:你可以通過(guò)使用瀏覽器走一遍站點(diǎn)來(lái)錄制腳本,可以從服務(wù)器的日志文件導(dǎo)入U(xiǎn)RL,或者從一個(gè)網(wǎng)絡(luò)內(nèi)容文件夾選擇一個(gè)文件。當(dāng)然,你也可以手工地輸入U(xiǎn)RL來(lái)創(chuàng)建一個(gè)新的測(cè)試腳本。 不像其它的工具,你可以使用任何數(shù)量的客戶端運(yùn)行測(cè)試腳本,全部都有一個(gè)中央主客戶端來(lái)控制
5、。在每一個(gè)測(cè)試開(kāi)始前,主客戶機(jī)透明地執(zhí)行以下任務(wù):· 與其他所有的客戶機(jī)通訊· 把測(cè)試數(shù)據(jù)分發(fā)給所有
6、的客戶端· 在所有客戶端同時(shí)初始化測(cè)試· 從所有的客戶端收集測(cè)試結(jié)果和報(bào)告這個(gè)特性非常重要,尤其對(duì)于
7、要測(cè)試一個(gè)需要使用很多客戶端的服務(wù)器群的最大吞吐量時(shí)非常有用。它的高可用性WAS是被設(shè)計(jì)用于模擬Web瀏覽器發(fā)送請(qǐng)求到任何采用了HTTP1.0或1.1標(biāo)準(zhǔn)的服務(wù)器,而不考慮服務(wù)器運(yùn)行的平臺(tái)。除了它的易用性外,WAS還有很多其它的有用的特性,包括: · 對(duì)于需要署名登錄的網(wǎng)站,它允許創(chuàng)建用戶帳號(hào)。·
8、60; 允許為每個(gè)用戶存儲(chǔ)cookies 和Active Server Pages (ASP) 的session信息· 支持隨機(jī)的或順序的數(shù)據(jù)集,以用在特定的
9、名字-值對(duì)· 支持帶寬調(diào)節(jié)和隨機(jī)延遲(“思考的時(shí)間”)以更真實(shí)地模擬顯示情形。· 支持Secure
10、Sockets Layer (SSL)協(xié)議· 允許URL分組和對(duì)每組的點(diǎn)擊率的說(shuō)明· 提供一個(gè)對(duì)象模
11、型,可以通過(guò)Microsoft Visual Basic® Scripting Edition (VBScript)處理或者通過(guò)定制編程來(lái)達(dá)到開(kāi)啟,結(jié)束和配置測(cè)試腳本的效果。WSA的缺陷 除了優(yōu)勢(shì)外,WAS的確有一些缺陷存在。當(dāng)前知道的bug和有關(guān)事項(xiàng)都列在WAS的網(wǎng)站上了。以下是當(dāng)前WAS不支持的特性:· 以前面所發(fā)請(qǐng)求返回的結(jié)果為基礎(chǔ)
12、,修改URL參數(shù)的能力。· 運(yùn)行或模仿客戶端邏輯的能力· 為所分配的測(cè)試指定一個(gè)確定數(shù)量的測(cè)試周期的
13、能力。· 對(duì)擁有不同IP地址或域名的多個(gè)服務(wù)器的同時(shí)測(cè)試能力注意 你可以使用多個(gè)主客戶端來(lái)同時(shí)測(cè)試多個(gè)服務(wù)器。然而,如果你想把所有測(cè)試結(jié)果聯(lián)系起來(lái)成為一個(gè)整體,則需要整理從各個(gè)WAS數(shù)據(jù)庫(kù)得到的數(shù)據(jù)·
14、60; 支持頁(yè)面在不同IP地址或域名間的重定向的能力· 從Web瀏覽器直接記錄SSL頁(yè)面的能力注意 WSA已經(jīng)支持SSL頁(yè)面的測(cè)試,但是沒(méi)有記錄它們。你需要在腳本錄制完后,手工地為每個(gè)設(shè)計(jì)好的
15、URL打開(kāi)SSL支持雖然對(duì)這些限制有一些相應(yīng)的解決辦法,但是如果你的應(yīng)用依賴一個(gè)或多個(gè)這樣的功能的話,你也許不能完全享受WAS帶來(lái)的好處。安裝WAS WAS要求Microsoft Windows NT® 4.0 Service Pack 4或以上版本,包括Windows 2000平臺(tái)。還要求Internet Explorer 4.0以上版本,與Internet Explorer 5.0工作更好。要安裝WAS,首先下載最新版本的setup.exe程序,按照安裝向?qū)У闹甘???截惒⒃谀愕臏y(cè)試機(jī)器上安裝。注意 在本文介紹的所有步驟均以WAS version 293為
16、藍(lán)本。創(chuàng)建測(cè)試腳本 雖然你可以手動(dòng)地創(chuàng)建測(cè)試腳本,WAS可以通過(guò)記錄瀏覽器活動(dòng),導(dǎo)入服務(wù)器日志文件或評(píng)估Web文件夾的內(nèi)容來(lái)幫助你創(chuàng)建測(cè)試腳本。在本文,我們將主要通過(guò)記錄覽器活動(dòng)的方式來(lái)創(chuàng)建測(cè)試腳本。采用這個(gè)方法而不用其它的方法有幾個(gè)原因,包括:· 記錄覽器活動(dòng)的方式以精確的方式捕捉所有用戶的交互活動(dòng)。任何從瀏覽器發(fā)往服務(wù)器的URL指向,應(yīng)用程序參
17、數(shù)和HTTP頭部信息都會(huì)被自動(dòng)地記錄在新的測(cè)試腳本里。· 導(dǎo)入服務(wù)器日志文件的方法在站點(diǎn)已經(jīng)進(jìn)入投入使用階段,有了真實(shí)的用戶流量的情況下使用最好。但是,一個(gè)新的站點(diǎn)未必有這么多的真實(shí)用戶使用數(shù)據(jù),進(jìn)一步說(shuō),可能還需要合并大量的日志文件來(lái)達(dá)到較好地體現(xiàn)用戶活動(dòng)的目的,這將需要?jiǎng)?chuàng)建大量的測(cè)試腳本,將需要客戶端更多的系統(tǒng)資源。·
18、160; 選取Web內(nèi)容文件夾的方法最好用在測(cè)試多數(shù)是靜態(tài)HTML文件的站點(diǎn)。這種方法允許在已有服務(wù)器的Web頁(yè)面的基礎(chǔ)上快速創(chuàng)建測(cè)試腳本。然而,這種方法并不捕捉任何由大多數(shù)應(yīng)用程序文件產(chǎn)生的參數(shù),像Common Gateway Interface (CGI)程序或Active Server Pages (ASP).你只需要在主客戶機(jī)器創(chuàng)建和存儲(chǔ)你的測(cè)試腳本,當(dāng)測(cè)試由主客戶端初始化
19、時(shí),測(cè)試腳本會(huì)自動(dòng)地分發(fā)到其他的測(cè)試客戶端。準(zhǔn)備測(cè)試客戶端機(jī)器 如果你正在你的內(nèi)部網(wǎng)通過(guò)代理服務(wù)器使用WAS ,并且從內(nèi)部網(wǎng)外的客戶端發(fā)送請(qǐng)求頁(yè)面,而且你的公司使用Microsoft Proxy Server,那么按照以下的步驟建立你的客戶端:1. 從開(kāi)始菜單,指向設(shè)置控制面板。雙擊管理工具圖標(biāo),然后是服務(wù)圖標(biāo)。2.
20、60; 雙擊WebTool服務(wù)打開(kāi)屬性對(duì)話框3. 點(diǎn)Log On As 標(biāo)簽,然后點(diǎn)This account 選擇按鈕添加你的網(wǎng)絡(luò)用戶名和密碼。使用domainuser name的格式4.
21、160; 停止并重起WebTool服務(wù)5. 然后,安裝Microsoft Windows Proxy client 2.0,也叫Winsock Proxy 客戶端,可以在Microsoft Proxy Server CD里找到(更多有關(guān)怎樣安裝和設(shè)置這個(gè)軟件的信息,請(qǐng)參考包含在CD里面的
22、文檔)6. 對(duì)于希望使用代理服務(wù)器的每個(gè)測(cè)試客戶端,重復(fù)步驟1-5。如果你的公司使用其他的代理服務(wù)器,就要安裝該代理服務(wù)器的代理客戶端。準(zhǔn)備瀏覽器 在開(kāi)始錄制一個(gè)腳本前,你需要準(zhǔn)備好你的瀏覽器,清除你的瀏覽器的緩沖cache。否則,WAS也許不能記錄所需的瀏覽器活動(dòng),因?yàn)闉g覽器可能從緩沖區(qū)而不是從所請(qǐng)求的服務(wù)器取得請(qǐng)求頁(yè)面。關(guān)掉 IE 的緩沖區(qū) 1.
23、0; 在工具菜單,點(diǎn)Internet 選項(xiàng) 2. 點(diǎn)常規(guī)標(biāo)簽,然后點(diǎn)刪除文件。按鈕。如果使用IE5。0或以上版本則不需要修改代理設(shè)置,因?yàn)?。0以上版本的IE允許WAS改變這些設(shè)置。然而,對(duì)于IE4。0或早期版本,WAS使用一個(gè)內(nèi)置的代理服
24、務(wù)器來(lái)記錄瀏覽器活動(dòng)。 按WAS的需要指定代理設(shè)置1. 在工具菜單,點(diǎn)Internet 選項(xiàng) 2. 在連接標(biāo)簽里,修改代理設(shè)置以使代理服務(wù)器指向Localhost 并且使用端口800
25、03. 不選對(duì)于本地地址不使用代理服務(wù)器 記錄腳本 在你的瀏覽器和客戶端已經(jīng)準(zhǔn)備好記錄后,做下面的操作:1. 當(dāng)你第一次運(yùn)行WAS時(shí),你會(huì)看到一個(gè)Create new script 的對(duì)話框(
26、Figure 1),詢問(wèn)你以什么樣的方式創(chuàng)建一個(gè)新的測(cè)試腳本。2. 點(diǎn)Record 按鈕 。如果之前你選擇了Don't display at startup ,Create new script 將不會(huì)顯示出來(lái)。你可以在Script 菜單選擇Record 然后 Create .3.
27、; 在Browser Recorder Step 1 of 2 對(duì)話框,你會(huì)被要求指定一些記錄設(shè)置。在這里,清除所有的選擇框點(diǎn)Next 繼續(xù)。4. 在Browser Recorder Step 2 of 2 對(duì)話框,點(diǎn)Finish 。一個(gè)新的IE窗口會(huì)出現(xiàn)以便記錄瀏覽器活動(dòng),同時(shí)WAS會(huì)被置于記錄模
28、式。 5. 在新出現(xiàn)的IE窗口的地址欄,輸入你的目的站點(diǎn)的地址。在WAS的窗口你將看到HTTP 信息在跟隨你的瀏覽活動(dòng)而實(shí)時(shí)改變著。6. 當(dāng)完成了你的站點(diǎn)瀏覽后,轉(zhuǎn)回WAS窗口還處于記錄狀態(tài)點(diǎn)
29、Stop Recording 按鈕。就會(huì)終止記錄并產(chǎn)生一個(gè)新的測(cè)試腳本。在右邊窗口的底部,你將看到一個(gè)列出所有腳本的列表。對(duì)于需要安全連接的站點(diǎn),WAS支持SSL頁(yè)面。然而不允許SSL的記錄。要解決這些限制,你可以在服務(wù)器端關(guān)掉SSL,記錄腳本,然后再重新激活服務(wù)器上的SSL。設(shè)置測(cè)試腳本 新錄制的腳本還不能立即用來(lái)測(cè)試。還必須完成以下設(shè)置:· 調(diào)
30、節(jié)腳本項(xiàng)和他們的屬性· 調(diào)節(jié)測(cè)試腳本的測(cè)試· 建立頁(yè)面組和點(diǎn)擊百份比·
31、0; 建立用戶帳號(hào)· 建立客戶端·
32、60; 建立性能計(jì)數(shù)器調(diào)節(jié)腳本項(xiàng) 在修改一個(gè)測(cè)試腳本的腳本項(xiàng)時(shí)需要考慮幾點(diǎn),我們將在下面介紹。去掉不需要的腳本項(xiàng) 去掉冗余項(xiàng)以減少在測(cè)試中的噪聲因素,或者去掉那些無(wú)效的URL。當(dāng)要調(diào)整一項(xiàng)特殊的功能時(shí),去掉所有指向圖象,樣式表單和其他輔助靜態(tài)文件的腳本項(xiàng)。為腳本項(xiàng)指定思考時(shí)間 腳本項(xiàng)表單的最后一項(xiàng)叫做“延遲”。這項(xiàng)允許你在執(zhí)行腳本項(xiàng)之前指定特定的延遲時(shí)間(也叫思考時(shí)間)。對(duì)于性能測(cè)試來(lái)說(shuō),如何定義思考時(shí)間并沒(méi)有一個(gè)單獨(dú)的標(biāo)準(zhǔn)。有些人使用零思
33、考時(shí)間,有些人考慮使用30秒為思考時(shí)間。主要取決于站點(diǎn)的內(nèi)容和測(cè)試的目的。例如,有長(zhǎng)頁(yè)面內(nèi)容的站點(diǎn)需要比簡(jiǎn)單頁(yè)面的站點(diǎn)使用長(zhǎng)一點(diǎn)的時(shí)間,因?yàn)橛脩粜枰褂枚帱c(diǎn)的時(shí)間來(lái)讀頁(yè)面內(nèi)容。另外,如果你的目的是快速地決定一個(gè)只有少量客戶端的Web服務(wù)器的吞吐量,你可以考慮零思考時(shí)間。沒(méi)有思考時(shí)間的話,WAS的每個(gè)線程以最快速度對(duì)Web服務(wù)器施加壓力。為腳本項(xiàng)設(shè)置一系列的值 WAS允許你為一個(gè)腳本項(xiàng)的一對(duì)名字-值賦值,而不是對(duì)每一個(gè)請(qǐng)求都使用相同的值。這個(gè)特性對(duì)于模擬真實(shí)情形很重要,沒(méi)有用戶會(huì)不停的以相同的數(shù)據(jù)值請(qǐng)求同一頁(yè)面吧?例如,其中一項(xiàng)測(cè)試腳本是請(qǐng)求一個(gè)ASP頁(yè)面展示一個(gè)產(chǎn)品的詳細(xì)信息。我們可以設(shè)置WA
34、S隨機(jī)地從一列預(yù)先定義的產(chǎn)品ID選取不同的值,而不是每次都用相同的產(chǎn)品ID請(qǐng)求ASP頁(yè)面。為腳本項(xiàng)建立一列值1. 在WAS窗口的腳本項(xiàng),雙擊腳本項(xiàng)最前面的方型按鈕(在表單的第一列)打開(kāi)這項(xiàng)的詳細(xì)菜單。2.
35、 在Querystring 標(biāo)簽里(也叫Querystring Editor,如Figure 3所示),選定Format data to CGI standard 。相應(yīng)的名字-值對(duì)會(huì)出現(xiàn)在check box下的表單里。3. 點(diǎn)選定的名字-值對(duì)的值,一個(gè)新的按鈕會(huì)出現(xiàn)4.
36、160; 點(diǎn)這個(gè)按鈕打開(kāi)Field Values 對(duì)話框5. 在Field values 對(duì)話框輸入一串值,每一行一個(gè)值。你也可以通過(guò)剪切,粘貼一個(gè)電子表格的數(shù)據(jù)文件來(lái)輸入。6. &
37、#160; 在Querystring Editor里,在表單中點(diǎn)有相同名字-值對(duì)的Distribution 一列。在下拉菜單選擇Random 。 為腳本項(xiàng)設(shè)置SSL 為特定的腳本項(xiàng)激活SSL,需要作以下操作:1. 在WAS窗口的腳本項(xiàng),雙擊腳本項(xiàng)最前面的方型按鈕(在表單的第一列)打開(kāi)這項(xiàng)的詳細(xì)菜單。2.
38、0; 在 SSL標(biāo)簽里,選Use SSL . (注意在你激活SSL時(shí)確保端口值應(yīng)該在80到 443之間)。調(diào)整腳本設(shè)置 為了您能滿意地運(yùn)行你的性能測(cè)試,你需要修改你的測(cè)試腳本的設(shè)置。通過(guò)雙擊左邊的腳本名展開(kāi)腳本的信息,你會(huì)找到一個(gè)Settings 標(biāo)簽,在這里你可以為你的測(cè)試腳本指定很多設(shè)置。點(diǎn)擊它將在右邊窗口打開(kāi)Settings視圖。指定目標(biāo)Web服務(wù)器 默認(rèn)地,目標(biāo)服務(wù)器是“l(fā)ocalhos
39、t”,應(yīng)該替換為IP地址或目標(biāo)服務(wù)器的域名。改變?cè)O(shè)置 1. 在左邊的窗口點(diǎn)測(cè)試腳本的名字2. 在右邊窗口頂部的Server 輸入目標(biāo)服務(wù)器的IP地址或域名注意 如果你想對(duì)有Net
40、work Load Balancing(網(wǎng)絡(luò)負(fù)載均衡)的服務(wù)器群組進(jìn)行測(cè)試,就像Duwamish Online一樣,則需要輸入IP地址群。設(shè)置并發(fā)連接數(shù) 在設(shè)置里的Concurrent Connections 部分,你可以指定Stress level (threads) 的值和Stress multiplier (sockets per thread) 來(lái)控制對(duì)目標(biāo)服務(wù)器的壓力/負(fù)載程度。Stress level是全部客戶端所產(chǎn)生的Windows NT線程的總數(shù)。每個(gè)線程能產(chǎn)生多個(gè)socket而每個(gè)socket就是一個(gè)并發(fā)的請(qǐng)求。以下公式解釋了他們之間的關(guān)系:Total Concurrent
41、Requests = Stress level (threads) x Stress multiplier(sockets per thread) = Total Number Sockets在我們的實(shí)驗(yàn)室,我們使用不同的Stress層次來(lái) 性能測(cè)試。例如,我們使用過(guò)100, 200, 300, 400, 500, 750, 1000, 1500,和2000的值來(lái)連續(xù)測(cè)試以研究我們的服務(wù)器群組是如何對(duì)連續(xù)增長(zhǎng)的負(fù)載作出反應(yīng)的。你應(yīng)該在初步測(cè)試的結(jié)果基礎(chǔ)上調(diào)整這些數(shù)值。通常來(lái)說(shuō),你需要在低負(fù)載度時(shí)收集更多的數(shù)據(jù)點(diǎn),因?yàn)檫@時(shí)候系統(tǒng)的吞吐量會(huì)隨線程的增長(zhǎng)而線性增長(zhǎng)。另一方面,你可以在高負(fù)載度時(shí)運(yùn)行較
42、少的測(cè)試以節(jié)省時(shí)間和精力,尤其是系統(tǒng)吞吐量已經(jīng)高于峰值時(shí)。注意我們的第一次測(cè)試將設(shè)定在1000個(gè)線程。目的是運(yùn)行足夠的請(qǐng)求以建立我們程序的數(shù)據(jù)緩沖。因?yàn)槌绦虻男阅軙?huì)因?yàn)橛袥](méi)有緩沖而表現(xiàn)大不相同,這將幫助我們?yōu)樨?fù)載測(cè)試保持一個(gè)一致的環(huán)境。設(shè)定測(cè)試運(yùn)行時(shí)間 在設(shè)置視圖的Test Run Time 部分,你可以以日,小時(shí),分鐘,秒來(lái)設(shè)定總的運(yùn)行時(shí)間。取決于你的腳本項(xiàng)的預(yù)期反應(yīng)時(shí)間,建議你運(yùn)行測(cè)試腳本至少若干分鐘以便產(chǎn)生足夠的請(qǐng)求,避免變形的測(cè)試結(jié)果。你的程序的反應(yīng)時(shí)間越高,測(cè)試進(jìn)行的時(shí)間就應(yīng)該越長(zhǎng),以便產(chǎn)生大量的數(shù)據(jù)。你可以運(yùn)行短而密集的測(cè)試以便監(jiān)測(cè)你的站點(diǎn)的任何問(wèn)題。另外,你需要運(yùn)行更長(zhǎng)的測(cè)試時(shí)間
43、(例如,30天),看看你的站點(diǎn)的性能是否隨時(shí)間而退化,尤其是在中級(jí)或高級(jí)的負(fù)載壓力下。在Duwamish Online這個(gè)站點(diǎn),大多數(shù)的性能測(cè)試都運(yùn)行7到10分鐘,以便有足夠時(shí)間來(lái)穩(wěn)定測(cè)試結(jié)果。設(shè)置隨機(jī)延遲時(shí)間 在設(shè)置視圖的Request Delay 部分,你可以在執(zhí)行測(cè)試前為每個(gè)腳本項(xiàng)選擇加入隨機(jī)延遲時(shí)間(或思考時(shí)間)。如果Use random delay 選項(xiàng)框被選中,每個(gè)WAS線程會(huì)空轉(zhuǎn)一段隨機(jī)的時(shí)間(在最大值和最小值之間)加上為每個(gè)腳本項(xiàng)指定的固定的思考時(shí)間。下面的公式解釋了延遲時(shí)間的計(jì)算方法:每項(xiàng)的延遲時(shí)間=隨機(jī)延遲時(shí)間+每項(xiàng)的固定延遲時(shí)間隨機(jī)延遲時(shí)間的特性在固定延遲時(shí)間被指定給腳本
44、項(xiàng)時(shí)尤為重要。如果沒(méi)有使用隨機(jī)延遲時(shí)間,所有的線程會(huì)在幾乎相同的時(shí)間發(fā)送請(qǐng)求到Web服務(wù)器,然后等待幾乎相同的固定延遲時(shí)間然后發(fā)送下一個(gè)請(qǐng)求。隨機(jī)延遲時(shí)間在向Web服務(wù)器施加負(fù)載時(shí)有助于壓平峰值和谷值,因此為所需的負(fù)載水平呈現(xiàn)一個(gè)更為精確的環(huán)境。設(shè)定掛起時(shí)間 在設(shè)置視圖的Suspend 部分,你可以以日,小時(shí),分鐘,秒來(lái)設(shè)定warmup 和cooldown 時(shí)間。Warmup時(shí)間就是初始化測(cè)試運(yùn)行時(shí)間,在這段時(shí)間里不會(huì)收集和計(jì)算性能數(shù)據(jù)。類(lèi)似地,cooldown時(shí)間就是指定結(jié)束階段的測(cè)試時(shí)間,也不收集數(shù)據(jù)。Warmup 和 cooldown被用于最小化測(cè)試結(jié)果的失真。通常,在一個(gè)新測(cè)試運(yùn)行的初
45、始化階段,很多系統(tǒng)資源是被特定的活動(dòng)所消耗,像組件或應(yīng)用程序的緩沖初始化。Warmup時(shí)間有助于在任何測(cè)試數(shù)據(jù)被收集之前穩(wěn)定系統(tǒng)的環(huán)境。另一方面,cooldown時(shí)間有助于在測(cè)試運(yùn)行的結(jié)束階段避免數(shù)據(jù)的變形,這時(shí)額外的系統(tǒng)資源被用于停止測(cè)試和開(kāi)始從客戶端收集數(shù)據(jù)。另外,socket連接可能會(huì)過(guò)早地停止,造成大量的socket錯(cuò)誤。在Duwamish Online,我們使用30 到 60秒作為大多數(shù)性能測(cè)試的warmup 和 cooldown時(shí)間指定帶寬瓶頸 在設(shè)置視圖里的Bandwidth 部分,WAS允許你模擬從14.4 Kbps的modem連接到T1 (1.5 Mbps)的Local Ar
46、ea Network (LAN)連接的網(wǎng)絡(luò)帶寬。這個(gè)特性的最大好處是可以支撐大量的并發(fā)連接到目標(biāo)服務(wù)器。這是大多數(shù)Web站點(diǎn)(用戶使用低速modem連接)所體驗(yàn)的情形。激活帶寬瓶頸1. 在設(shè)置視圖里的Bandwidth 部分,選擇Throttle bandwidth 選項(xiàng)框。2.
47、0; 在下拉菜單,選擇一個(gè)代表大多數(shù)用戶的連接吞吐量的帶寬。在Duwamish Online里,我們?cè)囘^(guò)不同的帶寬瓶頸的設(shè)置。初始化時(shí)。我們把用戶連接設(shè)在56 Kbps,想明白我們的程序在大多數(shù)Web站點(diǎn)的情況下是如何表現(xiàn)的。我們也試過(guò)把用戶連接設(shè)在ISDN Dual Channel (128 Kbps)以模擬未來(lái)寬帶趨勢(shì)下,我們的大多數(shù)用戶通過(guò)快速的連接訪問(wèn)我們的站點(diǎn)。最后,我們以沒(méi)有帶寬瓶頸的情形測(cè)試我們的站點(diǎn)。有趣的是,我們發(fā)現(xiàn)這種設(shè)置產(chǎn)生的負(fù)載條件與用128 Kbps連接的一樣。不管你如何設(shè)置帶寬瓶頸,
48、務(wù)必要在你想比較測(cè)試結(jié)果的所有測(cè)試中保持一致性。指定其他設(shè)置 在設(shè)置視圖的其他部分,我們保持默認(rèn)值,除HTTP重定向外。我們故意去掉Follow HTTP redirects 選項(xiàng)。這在創(chuàng)建腳本過(guò)程中你錄制腳本時(shí)已經(jīng)錄制了URL的重定向的時(shí)候是必須的。你不需要重復(fù)兩次地運(yùn)行那些URL。設(shè)置頁(yè)面組 在 WAS里,你可以把一系列的腳本項(xiàng)組織成所謂的頁(yè)面組。這個(gè)特性允許你把所有的頁(yè)面元素(包括HTML文件,圖象文件,樣式表單等)或多個(gè)相連的頁(yè)面組織成一個(gè)邏輯單元。你可以為每個(gè)頁(yè)面組指定不同的點(diǎn)擊率,那樣就能控制哪個(gè)頁(yè)面或相連的頁(yè)面會(huì)訪問(wèn)更多或更少。如果你有你的網(wǎng)站的使用方法像目錄瀏覽或購(gòu)物車(chē)頁(yè)面組允
49、許你以你希望你的站點(diǎn)會(huì)獲得的點(diǎn)擊率來(lái)運(yùn)行。建立頁(yè)面組1. 展開(kāi)左邊窗口的腳本的信息2. 點(diǎn)Page Groups 節(jié)點(diǎn)在右邊窗口打開(kāi)相應(yīng)的視圖你會(huì)看到默認(rèn)的以100%分布率的頁(yè)面組已經(jīng)創(chuàng)建好了
50、。所有的腳本項(xiàng)默認(rèn)都初始化為這個(gè)組。3. 在組表單的空白行,在Group 列輸入新的組名(像"Home"作為主頁(yè)),在Distribution 列輸入數(shù)值。分布率會(huì)被用于計(jì)算這個(gè)頁(yè)面組的點(diǎn)擊率,見(jiàn)Percent 列。重復(fù)這個(gè)步驟添加更多的頁(yè)面組。4.
51、60; 點(diǎn)左邊窗口的腳本名回到該腳本項(xiàng)的視圖5. 在腳本項(xiàng)表單的Group 列,從下拉菜單選擇其中一個(gè)頁(yè)面組。為每個(gè)腳本項(xiàng)重復(fù)這個(gè)步驟。所有關(guān)聯(lián)的頁(yè)面都應(yīng)該選同樣的頁(yè)面組。Figure 5. Example of page groups definition 6.
52、 點(diǎn)左邊窗口的腳本名回到該腳本項(xiàng)的視圖7. 在腳本項(xiàng)的表單的Group一列,從下拉菜單選則其中一個(gè)頁(yè)面組。8.
53、; 重復(fù)6到7為每一個(gè)腳本項(xiàng)選擇一個(gè)頁(yè)面組。所有相關(guān)項(xiàng)(像ASP 頁(yè)面,樣式表單和圖象文件)應(yīng)該選擇相同的頁(yè)面組。另一種創(chuàng)建和指定頁(yè)面組的方法是在錄制腳本時(shí)指定頁(yè)面組。要使用這種方法,在瀏覽器跳到新的頁(yè)面之前返回到WAS窗口(見(jiàn)Figure 2)。點(diǎn)Change Group 按鈕然后在New Group 對(duì)話框輸入組名。以后錄制的腳本項(xiàng)都會(huì)被指定到這個(gè)新的組。指定用戶 測(cè)試需要署名登錄的Web站點(diǎn)時(shí),WAS提供一個(gè)特性叫做Users ,可用于存儲(chǔ)多個(gè)用戶的用戶名,密碼和cookie信息。當(dāng)一個(gè)測(cè)試開(kāi)始時(shí),所有的用戶被分配到給
54、定壓力系數(shù)設(shè)置的各線程中。當(dāng)請(qǐng)求開(kāi)始時(shí),每個(gè)線程使用從與該線程連接的共享池中獲得的用戶名,密碼,和 cookie。如果WAS配置的用戶數(shù)比線程少,一些線程就會(huì)沒(méi)有用戶所有的署名登錄頁(yè)面會(huì)登錄取失敗,任何與cookies的交互會(huì)被禁止。所以,當(dāng)測(cè)試需要個(gè)人認(rèn)證的網(wǎng)站時(shí),擁有的用戶數(shù)比線程多是很重要的。對(duì)于可以在WAS中創(chuàng)建的用戶數(shù)沒(méi)有硬性的規(guī)定和限制。然而,因?yàn)槊總€(gè)用戶都會(huì)需要一定的內(nèi)存和資源,所以如果使用大量的用戶,將會(huì)使你的測(cè)試啟動(dòng)和停止時(shí)間更長(zhǎng)些。創(chuàng)建新用戶1.
55、; 在左邊窗口展開(kāi)腳本的信息2. 點(diǎn)Users 節(jié)點(diǎn)在右邊窗口打開(kāi)相應(yīng)的視圖3. 雙擊Default 用戶組打開(kāi)用戶視圖
56、。注意默認(rèn)已經(jīng)創(chuàng)建了200個(gè)用戶。你可以簡(jiǎn)單地修改用戶名和密碼就行了。你也可以做以下操作來(lái)創(chuàng)建一系列新的用戶1. 點(diǎn)Remove All 清除所有的記錄2. 在Number of new us
57、ers ,輸入你想創(chuàng)建的新用戶的數(shù)量3. 在User name prefix ,你可以在用戶編號(hào)的前面輸入前綴值,例如“User.”4. 在Password ,輸入密碼。相同的密碼會(huì)賦給所有用
58、戶。5. 最后,點(diǎn)Create 按鈕。用戶表單就會(huì)填滿指定數(shù)量的用戶如果你想使用定制的用戶名和密碼列表,你可以從一個(gè)預(yù)定格式的文本文件導(dǎo)入它們。參考WAS幫助文件的“Importing user names and passwords”部分。建立各客戶端機(jī)器 WAS允許你使用多個(gè)客戶端機(jī)器測(cè)試你的網(wǎng)站。當(dāng)一個(gè)測(cè)試開(kāi)始時(shí),WAS會(huì)自動(dòng)地與所有客戶機(jī)取得聯(lián)系,向他們傳輸所有的測(cè)試信息(包括測(cè)試腳本
59、項(xiàng),頁(yè)面組和用戶定義信息),啟動(dòng)和停止他們的測(cè)試,然后收集測(cè)試結(jié)果。使用其中一個(gè)客戶機(jī)器作為你的主客戶端。這個(gè)主客戶端應(yīng)該是你用來(lái)記錄和設(shè)置測(cè)試腳本的機(jī)器。建立測(cè)試客戶端1. 在左邊窗口展開(kāi)腳本信息2. &
60、#160; 點(diǎn)Clients 節(jié)點(diǎn)在右邊窗口打開(kāi)相應(yīng)的視圖3. 雙擊Default 客戶端打開(kāi)客戶端視圖本地客戶端的記錄(在你工作的主客戶端)已經(jīng)默認(rèn)被創(chuàng)建。4. 要想加入新的客戶端,在Mac
61、hine name 輸入IP地址或域名。5. 點(diǎn)Add 按鈕,新的客戶端會(huì)以Connected 的狀態(tài)被加到表單中去。6. 重復(fù)步驟5和6,直到全部客戶端機(jī)器都被加入。當(dāng)添加新的客戶端時(shí),盡量
62、加那些大致相同處理能力的機(jī)器。我們發(fā)現(xiàn)添加一個(gè)明顯比其他機(jī)器速度慢的機(jī)器比不添加它還要產(chǎn)生更多的socket錯(cuò)誤。我們也發(fā)現(xiàn)如果我們?cè)O(shè)置一臺(tái)專(zhuān)注的機(jī)器作為主客戶端,但是這臺(tái)機(jī)器不參與產(chǎn)生負(fù)載。這樣的設(shè)置,我們會(huì)產(chǎn)生較少的socket錯(cuò)誤,而且測(cè)試結(jié)束得更快。要這樣設(shè)置的話,從客戶端列表去掉主客戶端的名字。如果你有一臺(tái)慢的機(jī)器而你不打算用做負(fù)載產(chǎn)生機(jī)器,它可以作為你的主客戶端而不會(huì)影響測(cè)試的輸出。注意,這臺(tái)主客戶端仍然做所有的產(chǎn)生報(bào)告和分發(fā)測(cè)試腳本的工作。一臺(tái)慢速度的主客戶端意味著你的測(cè)試啟動(dòng)和結(jié)束的速度會(huì)慢些,而且要更多的時(shí)間來(lái)產(chǎn)生報(bào)告。設(shè)置性能計(jì)數(shù)器 WAS可以與Windows NT性能監(jiān)視
63、器結(jié)合簡(jiǎn)化測(cè)試數(shù)據(jù)的收集。你可以為每個(gè)腳本存儲(chǔ)你最喜歡的性能監(jiān)視計(jì)數(shù)器,WAS 會(huì)像其它信息一樣收集它們的數(shù)據(jù)。把性能監(jiān)視計(jì)數(shù)器加到你的腳本1. 在左邊的窗口展開(kāi)腳本的信息2. 在右
64、邊的窗口點(diǎn)Perf Counters 節(jié)點(diǎn)打開(kāi)相應(yīng)的視圖3. 在Collection Interval ,輸入收集時(shí)間間隔。這是以秒計(jì)算的取樣時(shí)間。4. 點(diǎn)Add Counter 按鈕5.
65、160; 從Add counter to report 對(duì)話框,通過(guò)點(diǎn)Add 按鈕選機(jī)器,對(duì)象和你感興趣收集的計(jì)數(shù)器。在WAS幫助文件的"Common performance monitor counters"部分有一系列的通用性能計(jì)數(shù)器的介紹。如果你在使用這個(gè)特性時(shí)遇到什么問(wèn)題,請(qǐng)參考WAS的基本知識(shí)介紹。運(yùn)行測(cè)試腳本 一旦你設(shè)置好了測(cè)試腳本,就準(zhǔn)備好了在你的客戶機(jī)運(yùn)行腳本
66、;啟動(dòng)主客戶端的測(cè)試1. 點(diǎn)需要測(cè)試的腳本2. 從Scripts 菜單選Run 也可以點(diǎn)工具欄上的Play 按鈕運(yùn)行腳本。檢查測(cè)試報(bào)告 測(cè)試完成后,你應(yīng)該先檢查測(cè)試報(bào)告看是否有socket 或
67、 HTTP錯(cuò)誤從報(bào)告中檢查這些錯(cuò)誤 1. 從View 菜單選Reports 打開(kāi)相應(yīng)的視圖,見(jiàn)Figure 7.2. 在左邊窗口,雙擊腳本打開(kāi)測(cè)試報(bào)告,如果需要的話3.
68、 點(diǎn)測(cè)試報(bào)告名(有測(cè)試運(yùn)行時(shí)間指定),如果需要的話。你會(huì)看到右邊窗口顯示報(bào)告的概要。4. 在報(bào)告概要,檢查Socket Errors 部分是否有任何的socket有關(guān)的錯(cuò)誤(值不為0)。這里列出每種socket錯(cuò)誤的
69、解釋?zhuān)?#183; Connect 客戶端不能與服務(wù)器取得連接的次數(shù)。如果這個(gè)值偏高,檢查在客戶端與服務(wù)器之間產(chǎn)生的任何潛在的錯(cuò)誤。從每個(gè)客戶端Ping服務(wù)器或telnet服務(wù)器的端口80驗(yàn)證你得到正確的回應(yīng)。·
70、60; Send 客戶端不能正確發(fā)送數(shù)據(jù)到服務(wù)器的次數(shù)。如果這個(gè)值偏高,檢查服務(wù)器是否正確地工作著。在客戶端打開(kāi)一個(gè)瀏覽器然后手工點(diǎn)擊站點(diǎn)頁(yè)面驗(yàn)證站點(diǎn)正確地工作著。·
71、160; Recv 客戶端不能正確從服務(wù)器接收數(shù)據(jù)的次數(shù)。如果這個(gè)值偏高,執(zhí)行和Send 錯(cuò)誤相同的操作。還要檢查一下如果你減低負(fù)載系數(shù),錯(cuò)誤是否跟著減少。· Timeouts 超時(shí)的線程的數(shù)目,而且隨后就關(guān)閉了。如
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播簽約薪酬合同范本
- 別墅室內(nèi)石材合同范本
- 保密設(shè)備合同范本
- 分時(shí)度假 合同范本
- 保險(xiǎn)增值服務(wù)合同范本
- 第15課 現(xiàn)代醫(yī)療衛(wèi)生體系與社會(huì)生活 教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版(2019)高二歷史選擇性必修2 經(jīng)濟(jì)與社會(huì)生活
- 勞動(dòng)合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買(mǎi)賣(mài)合同范本
- 2024年銀川市永寧三沙源上游學(xué)校招聘筆試真題
- 中石油HSE培訓(xùn)試題集(共33頁(yè))
- 2022年云南省中考數(shù)學(xué)試題及答案解析
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺(tái)賬
- TS16949五大工具:SPC
- 區(qū)域環(huán)境概況
- 五年級(jí)下冊(cè)-綜合實(shí)踐教案
- 貴州出版社小學(xué)五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案全冊(cè)
- 爆破片面積計(jì)算
- [方案]隱框玻璃幕墻施工方案
- 設(shè)備安裝檢驗(yàn)批表格
- 6核島系統(tǒng)培訓(xùn)
評(píng)論
0/150
提交評(píng)論