2009-11-25 45 views
1

我們的客戶需要我們模擬50人同時在網站上工作,響應時間應該在5秒內。 但我們擔心的是,如果我們在他們的網站上測試,我們無法控制網絡速度,硬件等等。這可能會影響我們的測試結果。 另一件事是在我們的網站上有一些antiforgerytoken,性能測試工具不能模擬這種機制,在我們記錄請求後,系統再次發送它,它會失敗,因爲令牌失效。 我想知道你通常如何執行這個性能測試? 有什麼建議嗎? 在此先感謝!如何在我們的網站進行性能測試

回答

1

我通常的做法是分階段。

首先,使用WCAT等簡單工具在開發環境中進行測試。它不會運行JavaScript或執行回發,但會強調同時發生的請求和線程,這通常是主要的性能瓶頸。

一旦按照需要工作,然後向上移動到支持更復雜場景的Visual Studio Team Test。從實驗室開始,然後轉向測試版/預生產環境。除了或有時代替客戶端測量之外,我還喜歡使用服務器端性能計數器和監視。

對於防僞邏輯,僅用於負載測試目的,您可能會構建沒有該檢查的系統版本。

接下來,在測試版環境中測試真實用戶。細節取決於項目。如果我無法獲得真正的用戶,我還創建了數十臺運行帶真正瀏覽器的測試腳本的電腦。有一些很好的第三方工具也可以在這裏提供幫助,例如Load Runner(雖然很昂貴)。

最後,一旦軟件投入生產,繼續進行監控和測試。由於某些無法預料的差異或不一致性(例如,IIS配置),在beta版中運行良好的軟件在生產中崩潰的情況並不少見。

+0

服務器端性能計數器和監控,嗨我試了幾次連接到遠程服務器獲取計數器的值,但總是失敗,它提示我,我沒有權限,你有什麼建議嗎?或者我需要在連接到遠程服務器之前在遠程服務器上安裝一些軟件? – MemoryLeak 2009-11-25 13:31:55

+0

簡單的方法是使用遠程桌面和perfmon。如果你想使用本地perfmon作爲遠程服務器,那麼你需要擁有正確的權限,打開正確的端口等等。我通常只是在需要MSDN時查看這些細節。 IIRC,您將需要在同一個域或工作組中才能正常工作。 – RickNZ 2009-11-25 13:40:30

+0

您是否有任何設置遠程監控環境的細節?我嘗試了很多次,但總是失敗...... – MemoryLeak 2009-11-25 13:46:00

1

運行負載測試時,最好儘可能地模擬您的環境。如果測試系統的資源與生產系統不同,您肯定會得到不同的結果。

不過,您可以使用給定的硬件運行測試並報告所獲得的數字。例如,無論生產系統有多少可用,您都可以知道系統需要多少帶寬,因爲可以測量。

但是,如果您想測量客戶端將看到的內容,則必須使用相同的環境進行測量。

+0

你通常使用哪些軟件?你有任何程序來做到這一點? – MemoryLeak 2009-11-25 13:29:48

+0

我們目前使用Visual Studio Team System Test Edition進行負載測試。它運行良好,併爲我們提供了大量數據。這是我遇到的最便宜的負載測試解決方案。 Mareket上的其他人還包括LoadRunner和QALoad。 – 2009-11-25 14:00:36