使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試解析_第1頁(yè)
使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試解析_第2頁(yè)
使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試解析_第3頁(yè)
使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試解析_第4頁(yè)
使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試解析_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上使用WAS對(duì)Web應(yīng)用程序壓力測(cè)試WAS(Microsoft Web Application Stress Tool,Web應(yīng)用負(fù)載測(cè)試工具提供了一種簡(jiǎn)單的方法模擬大量用戶來(lái)訪問(wèn)你的網(wǎng)站。這個(gè)工具能告訴我們你的Web應(yīng)用程序工作時(shí)對(duì)硬件和軟件的使用情況。在本文中我將告訴大家如何使用WAS,以及如何理解WAS測(cè)試的數(shù)據(jù)。1 壓力測(cè)試的必要性隨著服務(wù)器端處理任務(wù)的日益復(fù)雜以及網(wǎng)站訪問(wèn)量的迅速增長(zhǎng),服務(wù)器性能的優(yōu)化也成了非常迫切的任務(wù)。在優(yōu)化之前,最好能夠測(cè)試一下不同條件下服務(wù)器的性能表現(xiàn)。找出性能瓶頸所在是設(shè)計(jì)性能改善方案之前的一個(gè)至關(guān)緊要的步驟。負(fù)載測(cè)試是任何Web應(yīng)用

2、的開(kāi)發(fā)周期中一個(gè)重要的步驟。如果你在構(gòu)造一個(gè)為大量用戶服務(wù)的應(yīng)用,搞清楚你的產(chǎn)品配置能夠承受多大的負(fù)載非常重要。如果你在構(gòu)造一個(gè)小型的Intranet網(wǎng)站,測(cè)試能夠暴露出最終會(huì)導(dǎo)致服務(wù)器崩潰的內(nèi)存漏洞以及競(jìng)爭(zhēng)情況。但是在實(shí)際的開(kāi)發(fā)過(guò)程中,要按照實(shí)際投入運(yùn)行的情況,組織成千上萬(wàn)的用戶來(lái)進(jìn)行壓力測(cè)試,無(wú)論從那個(gè)方面看,都是不現(xiàn)實(shí)的。而且這樣一旦發(fā)現(xiàn)了問(wèn)題,不僅需要重復(fù)的進(jìn)行這種耗費(fèi)巨大的測(cè)試,而且問(wèn)題不容易重現(xiàn),不能方便的找出性能的瓶頸所在。而使用軟件進(jìn)行壓力測(cè)試就不會(huì)存在這種情況。無(wú)論是哪種情形,花些時(shí)間對(duì)應(yīng)用進(jìn)行負(fù)載測(cè)試可以獲得重要的基準(zhǔn)性能數(shù)據(jù),為未來(lái)的代碼優(yōu)化、硬件配置以及系統(tǒng)軟件升級(jí)帶來(lái)

3、方便。即使經(jīng)費(fèi)有限的開(kāi)發(fā)組織也可以對(duì)它們的網(wǎng)站進(jìn)行負(fù)載測(cè)試,因?yàn)镸icrosoft的壓力測(cè)試工具WAS是可以免費(fèi)下載的。2 WAS概要介紹為了有效的對(duì)Web應(yīng)用程序進(jìn)行壓力測(cè)試,Microsoft發(fā)布了這個(gè)簡(jiǎn)單易用,功能強(qiáng)大的工具WAS。WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。為了對(duì)網(wǎng)站進(jìn)行負(fù)載測(cè)試, WAS可以通過(guò)一臺(tái)或者多臺(tái)客戶機(jī)模擬大量用戶的活動(dòng)。WAS支持身份驗(yàn)證、加密和Cookies,也能夠模擬各種瀏覽器類型和Modem速度,它的功能和性能可以與數(shù)萬(wàn)美元的產(chǎn)品相媲美。使用WAS時(shí),為了更加接近真實(shí)的進(jìn)行壓力測(cè)試,我們推薦運(yùn)行WAS的測(cè)試機(jī)

4、和Web Server分開(kāi)。3 開(kāi)始使用WAS要對(duì)網(wǎng)站進(jìn)行負(fù)載測(cè)試首先必須創(chuàng)建WAS腳本模擬用戶活動(dòng)。我們可以用下面四種方法之一創(chuàng)建腳本:l通過(guò)記錄瀏覽器的活動(dòng)l通過(guò)導(dǎo)入IIS日志l通過(guò)把WAS指向Web網(wǎng)站的內(nèi)容l手工制作在這里我們拿最常用的方法通過(guò)記錄瀏覽器的活動(dòng)來(lái)講解。其他三種方法在后面將會(huì)提到。3.1 錄制測(cè)試腳本打開(kāi)菜單,選擇Scripts|Create|Record 創(chuàng)建一個(gè)測(cè)試腳本 選取要記錄的內(nèi)容,有下面3種 l Record delay between request:記錄了請(qǐng)求之間的延遲。由于用戶實(shí)際上在瀏覽網(wǎng)站時(shí),請(qǐng)求之間存在幾秒甚至幾分鐘的延遲,這種錄制方法在執(zhí)行時(shí)會(huì)模

5、仿用戶之間的延遲發(fā)送請(qǐng)求,所以會(huì)是一個(gè)更加實(shí)際的測(cè)試。如果我們的目的是要發(fā)現(xiàn)Web應(yīng)用程序的承受極限,就不要選擇該項(xiàng);如果只是想模擬一個(gè)特定數(shù)量的用戶場(chǎng)景,那么選擇該項(xiàng)進(jìn)行測(cè)試捕捉請(qǐng)求延遲。l Record browser cookies & Record the host header:只記錄用戶的會(huì)話,不記錄延遲時(shí)間。一般情況下,我們不需要選擇這兩項(xiàng),可以讓W(xué)AS創(chuàng)建cookies和host header,就好像用戶登陸你的網(wǎng)站一樣。然而,如果你有網(wǎng)站的回歸信息時(shí)(比如一個(gè)用戶的主要特征信息或者與一個(gè)永久性cookies 相連的其他信息,在模擬一個(gè)新的用戶登陸網(wǎng)站和進(jìn)行必要的用戶配

6、置測(cè)試前,必須保證清除cookies,如果Web應(yīng)用程序需要用戶接受cookies,那么需要選中該選項(xiàng)。目前這個(gè)版本的WAS軟件對(duì)基于瀏覽器IE錄制腳本的方式還不支持HTTP/SSL請(qǐng)求。一般情況下,只選擇后二種會(huì)增加壓力的強(qiáng)度。根據(jù)壓力測(cè)試實(shí)際的情況,選擇合適的選項(xiàng),然后點(diǎn)“Next | Finish”,WAS會(huì)打開(kāi)一個(gè)IE窗口,在IE中輸入要測(cè)試的站點(diǎn)地址,然后我們就可以按照實(shí)際的情況開(kāi)始瀏覽站點(diǎn)了,瀏覽的同時(shí)也就是執(zhí)行測(cè)試用例的過(guò)程。 等測(cè)試用例執(zhí)行完成后,切換到WAS窗口,點(diǎn)“Stop Recording:”按鈕,停止錄制腳本 WAS回到了視圖頁(yè)面,在該頁(yè)面中你可以看到在錄制過(guò)程中WA

7、S收集的每一個(gè)鏈接,而且還可以編輯GET、POST以及HEAD信息。 制作WAS腳本是相當(dāng)簡(jiǎn)單的,不過(guò)要制作出模擬真實(shí)用戶活動(dòng)的腳本有點(diǎn)兒復(fù)雜。如果你已經(jīng)有一個(gè)運(yùn)行的Web網(wǎng)站,可以使用Web服務(wù)器的日志來(lái)確定Web網(wǎng)站上的用戶點(diǎn)擊分布。如果你的應(yīng)用還沒(méi)有開(kāi)始運(yùn)行,那么只好根據(jù)經(jīng)驗(yàn)作一些猜測(cè)了。3.2 負(fù)載參數(shù)設(shè)置測(cè)試腳本錄制完成后,下一步我們要作的就是配置運(yùn)行腳本的負(fù)載選項(xiàng),我們可以調(diào)整測(cè)試配置以便觀察不同條件下的應(yīng)用性能。3.2.1 Content Tree由于我們的WAS和Web Server是分開(kāi)的,所以這里我們不需要設(shè)置3.2.2 Setting(設(shè)置我們只要點(diǎn)擊“Setting”就

8、開(kāi)始負(fù)載選項(xiàng)設(shè)置。 1.ConCurrent Connections:Stress Level(threads的數(shù)值決定了所有客戶機(jī)創(chuàng)建的Windows的線程的數(shù)值。每一個(gè)線程創(chuàng)建多個(gè)Socket連接(具體多少Socket連接數(shù)取決于Stress multiplier (sockets per thread,每個(gè)Socket 連接就是一個(gè)并發(fā)的請(qǐng)求(request。下面這個(gè)公式表示了它們之間的關(guān)系:總的并發(fā)請(qǐng)求數(shù) = Stress Level * Stress multiplier = 總的Socket連接數(shù)Stress Level和Stress multiplier這二個(gè)項(xiàng)決定了訪問(wèn)服務(wù)器的

9、并發(fā)連接的數(shù)量。Microsoft建議不要選擇超過(guò)100的Stress Level值。如果要模擬的并發(fā)連接數(shù)量超過(guò)100個(gè),可以調(diào)整Stress multiplier或使用多個(gè)客戶機(jī)。在負(fù)載測(cè)試期間WAS將通過(guò)DCOM與其他客戶機(jī)協(xié)調(diào)。2.Test Run Time:設(shè)定持續(xù)運(yùn)行多長(zhǎng)時(shí)間的測(cè)試。我們可以在這里設(shè)定讓W(xué)AS持續(xù)運(yùn)行多少天、多少個(gè)小時(shí)、多少分鐘、多少秒3.Request Delay(in milliseconds:設(shè)定請(qǐng)求延遲時(shí)間的最大、最小值,當(dāng)然我們也可以選擇“Use random delay”使用隨機(jī)的延遲時(shí)間。一般情況下,我們常常會(huì)瀏覽一頁(yè),發(fā)現(xiàn)一個(gè)鏈接后,我們點(diǎn)擊它。即便

10、對(duì)該網(wǎng)站熟悉的人,4.Suspend:WAS允許設(shè)置warmup(熱身時(shí)間,一般可以設(shè)置為1分鐘。在warmup期間WAS開(kāi)始執(zhí)行腳本,但不收集統(tǒng)計(jì)數(shù)據(jù)。warmup時(shí)間給MTS、數(shù)據(jù)庫(kù)以及磁盤緩沖等一個(gè)機(jī)會(huì)來(lái)做準(zhǔn)備工作。如果在warmup時(shí)間內(nèi)收集統(tǒng)計(jì)數(shù)據(jù),這些操作的開(kāi)銷將影響性能測(cè)試結(jié)果。WAS 也允許設(shè)置CoolDown時(shí)間。在WAS執(zhí)行的時(shí)間達(dá)到設(shè)定的Test Run Time時(shí),進(jìn)入CoolDown Time,這時(shí)WAS并沒(méi)有停止執(zhí)行腳本,同樣也不會(huì)收集統(tǒng)計(jì)數(shù)據(jù)。下圖表示了它們的先后關(guān)系。WarmUp不收集統(tǒng)計(jì)數(shù)據(jù)Test Run Time收集統(tǒng)計(jì)數(shù)據(jù)CoolDown不收集統(tǒng)計(jì)數(shù)據(jù)5

11、.Bandwith:設(shè)置頁(yè)面提供的另外一個(gè)有用的功能是限制帶寬(throttle bandwidth。帶寬限制功能能夠?yàn)闇y(cè)試模擬出Modem(14.k K,28.8 K,56 K、ISDN(64 K,128 K以及T1(1.54 M的速度。使用帶寬限制功能可以精確地預(yù)測(cè)出客戶通過(guò)撥號(hào)網(wǎng)絡(luò)或其他外部連接訪問(wèn)Web服務(wù)器所感受的性能。6.Redirects、Throughput、Name resolution:這幾個(gè)選項(xiàng)一般情況下采用默認(rèn)情況即可。選中Follow HTTP redirects選項(xiàng)將會(huì)支持重定向。選中Throughput中的兩項(xiàng),WAS將會(huì)收集活動(dòng)用戶的cookies,以及收集網(wǎng)站

12、的統(tǒng)計(jì)數(shù)字。默認(rèn)情況下都會(huì)選中這兩項(xiàng),如果不選擇,將會(huì)增加壓力測(cè)試的強(qiáng)度。Name resolution默認(rèn)情況下沒(méi)有選中。選中該選項(xiàng),會(huì)讓每一個(gè)客戶測(cè)試機(jī)執(zhí)行查詢,只有在使用多個(gè)子網(wǎng)時(shí)才需要選中該項(xiàng)。(幫助原文:have each individual test client perform a lookup,this is useful when using multiple subnets3.2.3 Perf Counters(性能計(jì)數(shù)器使用WAS,從遠(yuǎn)程Windows NT和Windows 2000機(jī)器獲取和分析性能計(jì)數(shù)器(Performance Counter是很方便的。加入計(jì)數(shù)器要

13、用到下圖所示的Perf Counters分枝。 一般情況下,這里需要添加的性能計(jì)數(shù)器有:1 Web Server:·處理器:CPU使用百分比(% CPU Utilization·內(nèi)存:內(nèi)存使用百分比(% Memory Utilization·線程:每秒的上下文切換次數(shù)(Context Switches Per Second (Total·ASP:每秒請(qǐng)求數(shù)量(Requests Per Second·ASP:請(qǐng)求執(zhí)行時(shí)間(Request Execution Time·ASP:請(qǐng)求等待時(shí)間(Request Wait Time·A

14、SP:置入隊(duì)列的請(qǐng)求數(shù)量(Requests Queued2 各個(gè)WAS測(cè)試機(jī)·處理器:CPU使用百分比(% CPU Utilization·內(nèi)存:內(nèi)存使用百分比(% Memory Utilization在測(cè)試中選擇哪些計(jì)數(shù)器顯然跟測(cè)試目的有關(guān)。雖然下面這個(gè)清單不可能精確地隔離出性能瓶頸所在,但對(duì)一般的Web服務(wù)器性能測(cè)試來(lái)說(shuō)卻是一個(gè)好的開(kāi)始。處理器:CPU使用百分比(% CPU Utilization線程:每秒的上下文切換次數(shù)(Context Switches Per Second (TotalASP:每秒請(qǐng)求數(shù)量(Requests Per SecondASP:請(qǐng)求執(zhí)行時(shí)間

15、(Request Execution TimeASP:請(qǐng)求等待時(shí)間(Request Wait TimeASP:置入隊(duì)列的請(qǐng)求數(shù)量(Requests QueuedCPU使用百分比反映了處理器開(kāi)銷。CPU使用百分比持續(xù)地超過(guò)75%是性能瓶頸在于處理器的一個(gè)明顯的跡象。每秒上下文切換次數(shù)指示了處理器的工作效率。如果處理器陷于每秒數(shù)千次的上下文切換,說(shuō)明它忙于切換線程而不是處理ASP腳本。每秒的ASP請(qǐng)求數(shù)量、執(zhí)行時(shí)間以及等待時(shí)間在各種測(cè)試情形下都是非常重要的監(jiān)測(cè)項(xiàng)目。每秒的請(qǐng)求數(shù)量告訴我們每秒內(nèi)服務(wù)器成功處理的ASP請(qǐng)求數(shù)量。執(zhí)行時(shí)間和等待時(shí)間之和顯示了反應(yīng)時(shí)間,這是服務(wù)器用處理好的頁(yè)面作應(yīng)答所需要

16、的時(shí)間。我們可以繪出隨著測(cè)試中并發(fā)用戶數(shù)量的增加每秒請(qǐng)求數(shù)量和反應(yīng)時(shí)間的變化圖。增加并發(fā)用戶數(shù)量時(shí)每秒請(qǐng)求數(shù)量也會(huì)增加。然而,我們最終會(huì)達(dá)到這樣一個(gè)點(diǎn),此時(shí)并發(fā)用戶數(shù)量開(kāi)始“壓倒”服務(wù)器。如果繼續(xù)增加并發(fā)用戶數(shù)量,每秒請(qǐng)求數(shù)量開(kāi)始下降,而反應(yīng)時(shí)間則會(huì)增加。要搞清楚硬件和軟件的能力,找出這個(gè)并發(fā)用戶數(shù)量開(kāi)始“壓倒”服務(wù)器的臨界點(diǎn)非常重要。置入隊(duì)列的ASP請(qǐng)求數(shù)量也是一個(gè)重要的指標(biāo)。如果在測(cè)試中這個(gè)數(shù)量有波動(dòng),某個(gè)COM對(duì)象所接收到的請(qǐng)求數(shù)量超過(guò)了它的處理能力。這可能是因?yàn)樵趹?yīng)用的中間層使用了一個(gè)低效率的組件,或者在ASP會(huì)話對(duì)象中存儲(chǔ)了一個(gè)單線程的單元組件。運(yùn)行WAS的客戶機(jī)CPU使用率也有必要

17、監(jiān)視。如果這些機(jī)器上的CPU使用率持續(xù)地超過(guò)75%,說(shuō)明客戶機(jī)沒(méi)有足夠的資源來(lái)正確地運(yùn)行測(cè)試,此時(shí)應(yīng)該認(rèn)為測(cè)試結(jié)果不可信。在這種情況下,測(cè)試客戶機(jī)的數(shù)量必須增加,或者減小測(cè)試的Stress Level。3.2.4 Page Groups對(duì)于一個(gè)Web應(yīng)用而言,同一時(shí)刻用戶點(diǎn)擊分布是不一樣的。WAS允許設(shè)置用戶點(diǎn)擊流量的分布比例。 這里我們假設(shè)在一個(gè)Web應(yīng)用程序中,有650個(gè)人同時(shí)在線,其中100人正在添加提交數(shù)據(jù),占15.38%;有150人正在查詢,占23.08%。按照不同的Web應(yīng)用,我們可以根據(jù)實(shí)際的情況在定制這個(gè)比例關(guān)系,來(lái)更加符合實(shí)際的情況。3.2.5 Users現(xiàn)在很多Web應(yīng)用程

18、序?yàn)榱颂峁﹤€(gè)性化的服務(wù),都設(shè)計(jì)了登陸過(guò)程。每個(gè)用戶都有自己的登陸名和密碼。WAS也考慮到了這種情況,我們只要在Users分支中添加用戶名和對(duì)應(yīng)的密碼即可。 3.2.6 Clients添加多個(gè)WAS客戶機(jī)。在運(yùn)行期間,各個(gè)WAS客戶機(jī)是通過(guò)DCOM來(lái)協(xié)調(diào)的。各個(gè)WAS客戶機(jī)只要正確安裝了WAS軟件,啟動(dòng)了WebTool服務(wù),它們就可以自己協(xié)調(diào)操作。我們只要在Clients分支內(nèi)添加WAS客戶機(jī)即可。 3.2.7 Cookies這里顯示的是用戶名以及對(duì)應(yīng)的cookies。這里不需要設(shè)置。4 運(yùn)行測(cè)試腳本所有的設(shè)置完成以后,我們就可以運(yùn)行WAS來(lái)進(jìn)行壓力測(cè)試了。要運(yùn)行測(cè)試腳本很簡(jiǎn)單,只要選中測(cè)試腳本

19、的名稱,然后點(diǎn)工具欄上的“運(yùn)行”按鈕,即可。建議:第一次運(yùn)行測(cè)試腳本時(shí),Test Run Time不要太長(zhǎng),Stress Level以及Stress multiplier不要太大。第一次運(yùn)行的目的只是為了檢驗(yàn)測(cè)試腳本正確的運(yùn)行。 5 測(cè)試結(jié)果每次測(cè)試運(yùn)行結(jié)束后WAS會(huì)生成詳細(xì)的報(bào)表,即使測(cè)試被提前停止也一樣。WAS報(bào)表可以從View 菜單選擇Reports查看。下面介紹一下報(bào)表中幾個(gè)重要的部分。5.1 摘要頁(yè)面摘要部分提供了頁(yè)面的名字,接收到第一個(gè)字節(jié)的平均時(shí)間(TTFB,接收到最后一個(gè)字節(jié)的平均時(shí)間(TTLB,以及測(cè)試腳本中各個(gè)頁(yè)面的命中次數(shù)。TTFB和TTLB這兩個(gè)值對(duì)于計(jì)算客戶端所看到的

20、服務(wù)器性能具有重要意義。TTFB反映了從發(fā)出頁(yè)面請(qǐng)求到接收到應(yīng)答數(shù)據(jù)第一個(gè)字節(jié)的時(shí)間總和(以毫秒計(jì),TTLB包含了TTFB,它是客戶機(jī)接收到頁(yè)面最后一個(gè)字節(jié)所需要的累計(jì)時(shí)間。只要選中頁(yè)面的名字,即可顯示頁(yè)面概要。 5.2 Result Codes如 果 這 是 一個(gè) 新 創(chuàng)建 的測(cè)試 腳 本,你應(yīng) 該 檢 查 一 下 報(bào) 表 的 Result Codes部 分 。這 部 分 內(nèi)容 包含 了 請(qǐng) 求 結(jié) 果 代碼、 說(shuō)明 以及服務(wù)器 返 回 的 結(jié) 果 代碼 的數(shù)量。如 果 這 里 出現(xiàn) 了 404代碼 (頁(yè) 面 沒(méi) 有 找 到 , 說(shuō) 明 在 腳 本中 有 錯(cuò)誤 的 頁(yè) 面 請(qǐng) 求 。具 體

21、的 錯(cuò)誤 代碼 表 示 的 意義 , 可 以 參考 IIS 的 說(shuō)明 文 檔 。5.3 Perf Counters報(bào) 表 中 還 包含 了 所 有 性能 計(jì) 數(shù)器的 信息 。這 些 數(shù)據(jù) 顯示 了 運(yùn)行 時(shí) 各 個(gè) 項(xiàng)目 的測(cè)量 值 , 同 時(shí) 還 提供了 最大 值 、 最 小 值 、 平均 值等 。 報(bào) 表實(shí)際 提供的 信息 遠(yuǎn)遠(yuǎn)超 過(guò) 了我們這 里 能夠 介紹 的 內(nèi)容 。5.4 Script Settings這 里 顯示 的 是運(yùn)行 本 次 測(cè)試時(shí)的 設(shè)置 ,也 就 是 前 面 講到 的 Setting 部 分 的 內(nèi)容 。5.5 Test Clients這 里 顯示 的 是 各 個(gè) W

22、AS 客 戶 機(jī) 的情況。 先 總 體 說(shuō)明 在測(cè)試中使用了 那 些 WAS 客 戶 機(jī) ,在使用的 WAS 客 戶 機(jī) 中 顯示l 執(zhí) 行 了 多 少線 程l 模擬了 多 少 用戶l 點(diǎn)擊 的 次 數(shù)l 連 接 失敗 的 次 數(shù)5.6 Page Summary顯示 了在測(cè)試中 各 個(gè) 請(qǐng) 求 內(nèi)容 的 TTFB 和 TTLB ,以及 點(diǎn)擊 的 次 數(shù) 等信息 。具 體 的 說(shuō)明 已 經(jīng) 包含 在 5.1摘 要 中5.7 Page Groups顯示 不同 的用戶 組 在測(cè)試中的 執(zhí) 行 情況。這 里 提供的 信息 包括l 用戶 組 的 分布 情況,以及在 所 有 用戶 組 中 所 占 的 比例

23、l 點(diǎn)擊 的 次 數(shù),以及在 所 有 點(diǎn)擊 次 數(shù)中 所 占 的 比例l Result Codes情況l Socket 連 接 的 信息5.8 Page Data顯示 了 各 個(gè) 請(qǐng) 求 內(nèi)容 的 更加 詳細(xì) 的 信息 。 技術(shù) 需 求 中的 運(yùn)行 效 率 信息 可 以在這 里驗(yàn)證 。25%、 50%、 75%的數(shù) 字還沒(méi)有弄明白什么意思?平均值還 不 知道怎 樣計(jì) 算 出 來(lái) 的 6 其他方式編寫測(cè)試腳本在前 邊 提 到 , 編 寫 測(cè)試 腳 本 有 4種方法, 現(xiàn) 在對(duì) 其他三 種方法 進(jìn)行 簡(jiǎn)單的 介紹6.1 手動(dòng)編寫 測(cè)試腳本打 開(kāi) 菜 單, 選擇 Scripts|Create|Man

24、ual 手動(dòng)創(chuàng)建 一個(gè)測(cè)試 腳本 然 后 出現(xiàn) 了 NewScript , server中 輸 入要進(jìn)行 測(cè)試的服務(wù)器 IP 地址 或 計(jì) 算 機(jī) 名稱 ; 在 腳 本的 內(nèi)容表 格 中verb項(xiàng) 選擇腳 本 運(yùn)行 方 式 get、 post 、 head ; path中 輸 入 向 服務(wù)器提 交 的文件 或 字 符串。 6.2 導(dǎo)入 IIS 日志這種方法 適合于 開(kāi) 始 投入運(yùn)行 的 Web 應(yīng)用程序。 IIS 日 志記錄 了用戶訪問(wèn) 系統(tǒng) 的 所 有 信息 。 通 過(guò)導(dǎo) 入 IIS 日 志 的方法 建 立 的測(cè)試 腳 本, 是 最 符 合 實(shí)際運(yùn)行 情況的方法。如 果 有 IIS 日 志

25、,我們 推薦 使用這種方 法。這種方法也 比 較 簡(jiǎn)單。 打 開(kāi) 菜 單, 選擇 Scripts|Create|Log 導(dǎo)入 IISs 日 志創(chuàng)建 一個(gè)測(cè)試 腳 本。然 后 出現(xiàn)導(dǎo)入 IIS 日 志 的 第 一 步 , 選擇 IIS 日 志 的 路徑 , 默認(rèn) 情況 下 的 路徑 如 圖 所 示Next 進(jìn)入 第 二 步 ,一 般 情況 下不 用 做 改 動(dòng) 。 取 默認(rèn) 即可Finish 后 , WAS 自 動(dòng) 生 成 腳 本。6.3 導(dǎo)入網(wǎng)站內(nèi)容文件 這種方法通過(guò)導(dǎo)入網(wǎng)站上具體的文件來(lái)生成測(cè)試腳本。一般情況下,不推薦使用這種方法。下面 簡(jiǎn)單說(shuō)明這種方法的使用。 打開(kāi)菜單,選擇Scripts

26、|Create|Contents ,WAS自動(dòng)新建一個(gè)測(cè)試腳本,并且切換到Contents Tree節(jié) 點(diǎn)。 然后回到New Script的主頁(yè)面,會(huì)看到選擇的內(nèi)容文件自動(dòng)添加到表格中 使用方法就是這樣。 7 初步的想法 1 在大規(guī)模的測(cè)試時(shí),需要很多WAS客戶端。為了充分利用資源,可以在項(xiàng)目組每個(gè)人的機(jī)器上都 安裝WAS軟件(只要正確安裝,啟動(dòng)WebTool服務(wù)即可)。這樣測(cè)試時(shí),WAS會(huì)自動(dòng)協(xié)調(diào),自動(dòng)分 配線程。 2 我們的系統(tǒng)中有很多的角色。雖然WAS可以將不同角色執(zhí)行請(qǐng)求的順序進(jìn)行混合,但是這樣我們 不知道WAS怎樣混合的,不能隨時(shí)控制角色的狀態(tài)。建議將不同的角色分組,每個(gè)角色放到一個(gè)

27、 WAS測(cè)試機(jī)(充當(dāng)控制器)上,這樣可以分角色而又集中的對(duì)WebServer進(jìn)行壓力測(cè)試,同時(shí)又能 隨意的控制各個(gè)WAS客戶機(jī)的狀態(tài)。這種思想是模仿LoadRunner軟件,具體實(shí)施還需要不斷的實(shí)驗(yàn) 和學(xué)習(xí)。 3 在集成測(cè)試時(shí),先注重性能方面的測(cè)試,逐步的加壓,尋找WebServer的最大負(fù)載量。進(jìn)而對(duì)照技 術(shù)需求,不斷改進(jìn)。 4 WAS首先是性能測(cè)試工具,然后才是壓力測(cè)試工具。具體測(cè)試時(shí),可以先在正常的條件下(滿足 技術(shù)需求)進(jìn)行性能測(cè)試,然后才是異常情況(增加壓力到技術(shù)需求規(guī)定的1.5-2倍)的測(cè)試。 5 不斷的研究學(xué)習(xí),利用WAS更深入地了解你的應(yīng)用的性能、穩(wěn)定性、瓶頸和局限性。 8 存

28、在的問(wèn)題 目前存在的問(wèn)題: 1 在測(cè)試結(jié)果Report中的Page Data部分,25%、50%、75%的值到底是什么意思?Average又是怎樣計(jì)算 出來(lái)的 2 在關(guān)于身份驗(yàn)證的頁(yè)面中,如何模擬多用戶使用不同的賬號(hào)登陸?按照幫助說(shuō)明和例子的說(shuō)明,在 ASP.NET開(kāi)發(fā)的登陸程序中沒(méi)有試驗(yàn)成功。(幫助中這么說(shuō)明:取用戶名是在POST數(shù)據(jù)項(xiàng)中把用戶名用 “%Username%”代替,密碼用“%Password%”代替) 3 添加性能計(jì)數(shù)器時(shí),添加本機(jī)的當(dāng)然沒(méi)有問(wèn)題。但是如何添加服務(wù)器的性能計(jì)數(shù)器。這需要在服 務(wù)器端進(jìn)行設(shè)置,但怎樣設(shè)置?還沒(méi)有弄清楚。(這個(gè)問(wèn)題已經(jīng)清楚了,服務(wù)器端不需要任何設(shè)置,

29、 只要客戶機(jī)和服務(wù)器在一個(gè)工作組即可) 9 性能優(yōu)化 以下文字摘自網(wǎng)絡(luò)上的文章。僅供參考。 隨著Internet應(yīng)用的日益廣泛,用戶的要求和期望也在不斷地發(fā)展。今天的客戶期待個(gè)性化的可定制 的方案,期待這些方案不僅簡(jiǎn)單,而且快速、可靠、成本低廉。對(duì)于能夠適應(yīng)用戶需求不斷變動(dòng)的可定 制頁(yè)面來(lái)說(shuō),靜態(tài)HTML已經(jīng)退出了舞臺(tái),比如內(nèi)容根據(jù)客戶請(qǐng)求變化的頁(yè)面就是其中一例。這一切都 要求系統(tǒng)保存相關(guān)的數(shù)據(jù),例如有關(guān)用戶本身以及用戶可能請(qǐng)求哪些信息的數(shù)據(jù)。 緊跟這些趨勢(shì)的Web開(kāi)發(fā)者已經(jīng)開(kāi)始提供可定制的Web網(wǎng)站。象搜索數(shù)據(jù)之類的任務(wù)現(xiàn)在可以由服 務(wù)器執(zhí)行而無(wú)需客戶干預(yù)。然而,這些變革也導(dǎo)致了一個(gè)結(jié)果,這

30、就是許多網(wǎng)站都在使用大量的未經(jīng)優(yōu) 化的數(shù)據(jù)庫(kù)調(diào)用,從而使得應(yīng)用性能大打折扣。 我們可以使用以下幾種方法來(lái)解決這些問(wèn)題: 1. 優(yōu)化ASP代碼。 2. 優(yōu)化數(shù)據(jù)庫(kù)調(diào)用。 3. 使用存儲(chǔ)過(guò)程。 4. 調(diào)整服務(wù)器性能。 優(yōu)秀的網(wǎng)站設(shè)計(jì)都會(huì)關(guān)注這些問(wèn)題。然而,與靜態(tài)頁(yè)面的速度相比,任何數(shù)據(jù)庫(kù)調(diào)用都會(huì)顯著地影 響Web網(wǎng)站的響應(yīng)速度,這主要是因?yàn)樵诎l(fā)送頁(yè)面之前必須單獨(dú)地為每個(gè)訪問(wèn)網(wǎng)站的用戶進(jìn)行數(shù)據(jù)庫(kù)調(diào) 用。 這里提出的性能優(yōu)化方案正是基于以下事實(shí):訪問(wèn)靜態(tài)HTML頁(yè)面要比訪問(wèn)那些內(nèi)容依賴于數(shù)據(jù)庫(kù) 調(diào)用的頁(yè)面要快。它的基本思想是:在用戶訪問(wèn)頁(yè)面之前,預(yù)先從數(shù)據(jù)庫(kù)提取信息寫入存儲(chǔ)在服務(wù)器上 的靜態(tài)HTML頁(yè)

31、面。為了保證這些靜態(tài)頁(yè)面能夠及時(shí)地反映不斷變化的數(shù)據(jù)庫(kù)數(shù)據(jù),必須有一個(gè)調(diào)度程 序管理靜態(tài)頁(yè)面的生成。 當(dāng)然,這種方案并不能夠適應(yīng)所有的情形。例如,如果是從持續(xù)變化的大容量數(shù)據(jù)庫(kù)提取少量信 息,這種方案是不合適的。不過(guò)可以適用該方案的場(chǎng)合還是很多。 為了保證能夠在合適的時(shí)間更新靜態(tài)HTML頁(yè)面,把下面的代碼加入到相應(yīng)的ASP頁(yè)面前面: < % lastUpdated=Application("LastUpdated" presentTime=now if DATEDIFF("h",lastUpdated,presentTime >= 1 the

32、n Application ("LastUpdated" =presentTime response.redirect "Update.asp?physicalpath="&Request.ServerVariables("PATH_TRANSLATED" end if % > < html > Static content goes here < /html > 每當(dāng)該頁(yè)面被調(diào)用,腳本就會(huì)提取最后的更新時(shí)間并將它與當(dāng)前時(shí)間比較。如果兩個(gè)時(shí)間之間的差 值大于預(yù)定的數(shù)值,Update.asp腳本就會(huì)

33、運(yùn)行;否則,該ASP頁(yè)面把余下的HTML代碼發(fā)送給瀏覽器。 最后更新時(shí)間從Application變量得到,它的第一次初始化由global.asa完成。具體的更新時(shí)間間隔應(yīng) 根據(jù)頁(yè)面內(nèi)容的更新要求調(diào)整。 如果每次訪問(wèn)ASP頁(yè)面的時(shí)候都要提供最新的信息,或者輸出與用戶輸入密切相關(guān),這種方法并不 實(shí)用,但這種方法可以適應(yīng)以固定的時(shí)間間隔更新信息的場(chǎng)合。 如果數(shù)據(jù)庫(kù)內(nèi)容由客戶通過(guò)適當(dāng)?shù)腁SP頁(yè)面更新,要確保靜態(tài)頁(yè)面也能夠自動(dòng)反映數(shù)據(jù)的變化,我 們可以在ASP頁(yè)面中調(diào)用Update腳本。這樣,每當(dāng)數(shù)據(jù)庫(kù)內(nèi)容改變時(shí)服務(wù)器上也有了最新的靜態(tài)HTML 頁(yè)面。 另一種處理頻繁變動(dòng)數(shù)據(jù)的辦法是借助Microsft SQL Server 7.0的Web助手向?qū)В╓eb Assistant Wizard),這個(gè)向?qū)軌蚶肨ransact-SQL、存儲(chǔ)過(guò)程等從SQL Server數(shù)據(jù)生成標(biāo)準(zhǔn)的HTML文件。 利用SQL Server任務(wù),Web助手向?qū)軌蛴脕?lái)定期地生成HTML頁(yè)面。正如前面概要介紹的方案, Web助手可以通過(guò)觸發(fā)子更新HTML頁(yè)面,比如在指定的時(shí)間執(zhí)行更新或者在數(shù)據(jù)庫(kù)數(shù)據(jù)變化時(shí)執(zhí)行更 新。 SQL Server使用名為sp_makewebtask的存儲(chǔ)過(guò)程創(chuàng)建HTM

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論