2008-12-04 143 views
191

這可能是一個錯誤的問題,但是,在asp.net web應用程序上覆制大量負載的最佳方法是什麼?有沒有簡單的方法來模擬特定頁面上的許多請求?或者,使用探查器跟蹤單個請求,然後從中可以解決性能問題,這是最好的方法嗎?壓力測試網站的最佳方式

很高興知道Web應用程序如何與服務器規範協同工作。我希望能夠在我的測試服務器上模擬大量流量,以便我可以確定生產服務器是否足夠好(特別是使用iis/asp.net而不是db性能)。

+0

如果您查看相關內容,此主題上有不少文章。查看壓力,負載和性能測試。它不需要特定於asp.net,任何http工具都可以完成這項工作。 – Loki 2008-12-04 13:35:33

+2

你是對的,但這裏的答案與其他地方不同。似乎值得再次提問。 – 2008-12-04 14:19:58

+8

問題被關閉,因爲沒有建設性,但有+126,已出演65次,並觀看83,243次。 :) – 2014-07-30 17:00:39

回答

53

我的建議是讓你先做一些自動化測試。使用selenium

然後部署硒網格同時在多臺計算機上測試。

雖然硒作爲一個自動化測試工具將運行得非常快,做一個小型壓力測試。如果您同時在網絡上的幾臺計算機上放置相同的自動化程序,您將能夠看到它的行爲。

如果你想記錄響應時間,他們有一個很酷的API,你可以用它來編寫一些腳本來運行你的自動化。

編輯:Selenium非常易於使用,並且如果您想測試內容,它會斷言頁面內容。如果你願意,它也可以通過頁面複製你的動作(這將是我的建議),只需瀏覽頁面,然後保存它以實現自動化。避免放置斷言,讓硒可能運行得更快。

48

JMeter將會是這樣一種工具。可能有點難以學習和配置,但通常是值得的。

31

ab(apache bench)工具允許您將多個請求發送到一個頁面,並指定要使用的客戶端數量以及您想要的併發連接數量。

這可能是開發網站時的第一步。只需測試一些特定負載的頁面。這種基準測試方式可能會遇到一些問題,例如緩存被過度使用。

稍後,您可能需要一個模擬某些具體流量的工具,而不是單個頁面。我現在還沒有這方面的工具。

9

也許grinder會有幫助嗎?您可以模擬線程和輕量級進程的併發請求,也可以在多臺機器上分配測試。每次我都會廣泛地使用它並取得成功。

5

我們嘗試了一些應用,商業產品和免費提供者的兩項試驗。最終,它是我們嘗試的Team Test Load Agent軟件的試用版。它絕對很棒,使用起來相當簡單。從長遠來看,它支持我們轉向Team Foundation Server的觀點,併爲部門的所有部分配備適當的工具。

然而,明顯的缺點是價格。

2

對於Web服務測試,soap rest或WCF(包括WebHttpBinding),請嘗試使用SOA Cleaner。可以從:http://xyrow.com下來。有一個免費版本,它不需要任何安裝。它也可以執行負載測試。

2

另一個工具我喜歡的是開放STA:http://opensta.org/

它主要集中在性能測試,它是免費的。

3

我已經使用WebLOAD這種類型的項目。創建腳本非常簡單,並且它支持監視ASP.NET統計信息。