Asp net

Post on 09-May-2015

526 views 3 download

Transcript of Asp net

ASP.NET 負載測試

2011

原始架構

原始架構

使用瀏覽器測試

瀏覽器無法大量測試

CRASH!!!

HTTP Request/Response

7 METHOD for HTTP RequestGET、POST、HEAD、OPTIONS、TRACE、PUT、DELETE

GET /path/file.html HTTP/1.0 From: someuser@jmarshall.com User-Agent: HTTPTool/1.0 [blank line here]

HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/html Content-Length: 1354 <html> <body>

透過HTTP Proxy進行側錄

GET /index.asp HTTP/1.0HTTP/1.0 200 OKGET /login.asp HTTP/1.0HTTP/1.0 200 OK

Web Test Automation

Web Test (網頁測試)將一個操作情境錄製,變成可以自動化操作的測試案例。

用於檢驗網站是否可以正常回應某一項操作。

Load Test (負載測試) 重複不斷進行一個錄製好的測試案例,直到完成設定的測試量。

檢視網站是否在大量的操作同時進行下,仍維持正常回應。

網頁測試工具

Linux● ab

ab -n 1000 -c 100 http://192.192.216.94/Default.aspx●wbox

wbox http://192.192.216.94/Default.aspx 100 clients 10

Apache● JMeter

Microsoft Visual StudioTeam System Web Test●Visual Studio 2010 Ultimate● Fiddler2● neXpert (Fiddler add-on)

操作網頁 (Internet Explorer)

側錄操作過程 (Fiddler)

建立測試專案 (Visual Studio)

負載測試的技巧

●必須先製作單一操作下不會發生錯誤的網頁測試案例

●先由合理的小數量開始進行

●將會造成錯誤的項目剔除(某些不存在檔案造成的404 error)

●以測試動態網頁(.aspx, .ashx)為主,靜態資料(.jpg, .gif, .css)必須剔除

●觀察負載測試期間伺服器的處理器、記憶體、磁碟狀況

●錯誤率的目標為 0%

●改善的目標為每秒平均回應數量

Visual Studio Web Test Step By Step 1/3

安裝軟體

1.Visual Studio Ultimate 2010 (Service Pack 1)2. Fiddler2 (.NET Framework required)3. neXpert (Fiddler add-on)

Visual Studio Web Test Step By Step 2/3

Fiddler操作步驟

1.先關閉IE瀏覽器2.打開Fiddler3.打開IE瀏覽器進行網頁操作4.一邊操作一邊觀察Fiddler側錄的項目5.將不必要的項目剔除6.完成7. File > Export Sessions > All Sessions > 選 Visual Studio

WebTest8.儲存 test1.webtest

Visual Studio Web Test Step By Step 3/3

Visual Studio操作步驟

1.檔案 > 新增專案 > 測試專案 > 測試文件 > 選測試專案 > 確定2.方案總管 > 在專案名稱按右鍵 > 加入 > 現有項目 > 選擇

test1.webtest3.打開test1.webtest > 執行測試4.方案總管 > 在專案名稱按右鍵 > 加入 > 負載測試 > (下一

步...) > 將test1加到測試混合 > (下一步...完成...)5.進行測試(負載測試) > 觀察關鍵指標、回應時間變化

JMeter Step By Step 1/2

工作台(右鍵) > 新增 > 非測試元素 > HTTP代理伺服器

測試計畫(右鍵) > 新增 > Threads (Users) > 執行緒群組

測試計畫(右鍵) > 新增 > 設定元素 > HTTP要求預設值 (填寫)

HTTP代理伺服器 > 開始

瀏覽器 > 設定代理伺服器 > (進行網頁操作,產生側錄資料)

HTTP代理伺服器 > 停止 (執行緒群組中產生記錄) > 彙整報告

JMeter Step By Step 2/2

測試計畫(右鍵) > 新增 > 接聽 > 彙整報告

執行 > 開始

網站系統實作的記錄

應用程式記錄

時間                    事件                       備註                                       200105151328 使用者登入           帳號名稱=00001200105151402 選課確認               帳號名稱=00001, 課程代號=200105151402 資料庫寫入錯誤   SQL ERROR ....

記錄

伺服器狀態報表(cacti)

啟用SNMP (Windows)

開啟控制台 → 新增移除程式 → 新增移除Windows元件 → Management and Monitoring Tools → Simple Network Management Protocol

平衡負載的實作方式