對你的ASP程式作負載測試

來源:互聯網
上載者:User
程式 J.D. Meier

September 27, 1999

內容
介紹
劇情
測試需求
介紹測試載入器WAS
分析測試結果
影響表現和可測性的因素
類比多使用者
運行需要登入認證的測試
WAS的應用技巧
資源



介紹
當我們從傳統的CS結構的應用程式轉到當前流行的Web空間的程式時,我們發現我們在嘗試跟上不斷增長的可測性需求和效能要求。其中一個最大的挑戰在於如何確定你的程式能最多支援多少個使用者的訪問。你如何面對這一挑戰?設定清晰的效能目標並使用Web壓力測試工具會是一個好的開始。

這篇文章將會介紹如何對你的ASP程式進行壓力測試,同時將會介紹微軟的壓力測試工具- Web Application Stress test Tool (WAS).在接下來的一章,你將會學習到壓力測試的基礎,同時還會學到一些必要的技巧,通過這些學習,你將可以根據測試的結果更加有效測試和修改你的程式。

劇情
假設你將要發布一個預期有1000使用者使用的ASP程式。你清楚的知道你的程式至少能處理兩個並發的使用者的訪問,因為你和你的夥伴能整天地點擊這個ASP程式而不會出現任何的問題。你在懷疑到底兩個使用者能否精確地反映你的程式的受壓能力。當然你可以使用標準的測試方法(發布你的程式,然後期待最好的結果出現),然而你還是決定預先測試你的程式的表現。這是一個好兆頭!

測試需求
為了更好的測試你的ASP程式,你首先需要決定你的程式將來需要面對多大的壓力。簡單的說,壓力或負載可以分解成以下數字:

· 最低使用者數量。(這個程式的使用者的最低數量是多少?通常這個數值可以是每日或沒周或每月的點擊量—當然你也可以分解成一個更可控的數值—每小時訪問量,)

· 並發使用者的總量. (在最高峰時的糟糕狀況是什嗎?作出相應的計劃. 希望在有壓力的情況下工作正常有效.)

· 請求高峰值. (每秒鐘需要產生多少ASP頁面? 這也許是在衡量一個ASP程式對使用者請求作出反應的能力時的一個最重要的因素.)

為你的程式決定使用者量和並發使用者數通常是很困難的事情,而且是在你的程式在被實際使用之前。尤其是網路程式。即使是區域網路程式也常常要面對使用者增加的問題,所以準確的預計使用者量將會是困難的。當你不知道怎麼開始時,最好從基礎的開始:

Internet需要考慮的問題:
· 分析你已有的IIS日誌。這個數值會暗示出一些實際的幾率

· 你的網站將會有多流行?流行的網站一天會有100萬或更多的訪問量。不會那麼流行?那麼假設一些不同的情況?假設你有1000以上的使用者群?你能通過增加更多的硬體裝置來解決擴充性問題嗎?或者,你的程式的架構會成為瓶頸嗎?

· 什麼是最糟糕的情況?問一下你的朋友這些情況會發生嗎?

Intranet需要考慮的問題:
· 同樣地,分析你已有的IIS日誌。

· 這個ASP程式是可以給每個人用的嗎?在公司內部網有多少台機器?你的系統管理員可以告訴你有關網路高峰流量的東西嗎?

· 這個程式有特定的使用者物件嗎?只是HR人力資源部?有多少個人力資源部的員工在使用?

· 最糟糕的情況是怎樣的?

如果你不能提前決定適當的負載,那麼確定你的程式的最高上限將是你最好的選擇。如果被10個使用者點擊,你能在1秒內產生多少的ASP響應結果?100個呢?1000個呢?10000個呢?記錄你的基準。當你從實際使用中得到你的流量日誌顯示你正在接近你的極限時,你將不僅會為你知道你當前的極限是什麼,而且你會有時間準備解決的辦法。

介紹測試載入器WAS

雖然有很多的壓力測試工具可供選擇,但是在本文,我會主要集中介紹WAS(就是以前所謂的Homer),WAS是當前微軟的標準網頁壓力測試工具。如果你已經對WebCat很熟悉了,你會激動的發現WAS可以很方便地匯入現有的WebCat指令碼。如果你以前用過InetMonitor,你會激動的發現WAS也是基於GUI的(對於很多使用命令列的WebCat的使用者來說這將會是一個很好的附加特性)。另一個好處是它是免費的,我的一個好朋友常說,“如果是免費的,那麼就是我的。”除了它的價格優勢外,這個工具還提供了完整的功能,而且還在不斷地升級更新中。Microsoft.com經常要使用它,所以他們會明白這個工具的重要性。

但是你不需要過多地理會我的話,只管自己去嘗試。我在文章的結尾會提供一個列表,列出一些第三方的壓力測試工具,你可以自己決定選什麼工具。底線是你需要一個工具,能夠把你的ASP程式放到負載下,在發布之前測試它。

開始使用WAS
我會教你怎樣第一次使用這個工具來測試一個ASP頁面。我也會介紹怎樣使用署名登入的測試和多使用者並發訪問的測試,因為這些東西會使初學者一頭霧水。

首先你需要下載和安裝這個工具。你能從下面的連結中得到最新版本

http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/itsolutions/intranet/downloads/webstres.asp. 在這個網站上還會有關於這個工具的入門指導,你可以隨時回去看看。

以下是在安裝時需要注意的幾點:

· 不要把WAS安裝在你的測試目標伺服器上,安裝在別的機器以確保得到準確的測試結果。

· 在安裝WAS的機器上需要有ADO2。1以上的版本。如果oledb32.dll的版本不是2.10.3711或以上,ADO會被WAS自動安裝。

· 在安裝後你會有一個完整的安裝日誌,預設會在\Program Files\Microsoft Web Application Stress Tool\INSTALL.LOG.

· 如果你已經安裝了舊版本的WAS,更新時會保留資料檔案完好。WAS使用Access .mdb檔案作為資料存放區檔案。WAS的初始.mdb包是WAS.mdb,可以在程式安裝路徑找到。

· WAS在註冊表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WAS儲存註冊資訊。

在運行我們新安裝的WAS之前,我們建立一個簡單的ASP指令碼作為測試頁面。建立一個新的叫做MyASPPage.asp 的ASP頁面,然後插入以下指令碼:

MyASPPage.asp
<%@ Language=VBScript %>
<HTML>
<BODY>
<% CONST ForAppending = 8
set oFSO = server.CreateObject("Scripting.FileSystemObject")
'translate our virtual directory into a physical path
strFilePath = Server.MapPath(Request.ServerVariables("PATH_INFO"))
'grab the root of the virtual directory
strFilePath = left(strFilePath, (InstrRev(strFilePath, "\")))
strFilePath = strFilePath & "MyFile.txt"
'write out to the screen the full file path
Response.Write(strFilePath & "<BR>")
set oTS = oFSO.OpenTextFile(strFilePath,ForAppending, true)
oTS.writeline("Session Id: " & Session.SessionId & chr(32) & _
"Time: " & Cstr(now()))
%>
</BODY>
</HTML>
這個ASP指令碼將在一個文字檔中插入SessionId及其啟用時間,這樣我們可以方便地確認我們的ASP頁面是否在正確的執行。一旦你熟悉了這個工具,你就可以指向你實際的ASP頁面以作真正的測試。

在伺服器的恰當的目錄放置你的ASP頁面以使它可以被匿名訪問。我們在後面將會再試署名訪問的測試,但是現在我們需要運行一個最基本的測試。用全路徑URL瀏覽你的頁面,包括你的伺服器名。例如,一個完整的URL看起來像http://MyServer/MyVirtualDirectory/MyASPPage.asp。一旦你能成功地瀏覽你的ASP頁面(務必檢查MyFile.txt這個檔案,這個檔案會被程式寫在虛擬目錄的物理位置),你就可以運行WAS做實際的測試了。

當你第一次運行WAS時,將會出現下面的對話方塊:


Figure 1. Create a new script

雖然其他選項也很誘人,現在我們先選Manual 這項。將來你還可以從菜單的Scripts或在工具攔點取New Script表徵圖來建立一個新的指令碼。

歡迎來到指令碼瀏覽介面。左手邊的視窗以樹型結構列



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.