2010-12-12 97 views
3

在構建網站或應用程序時,最佳做法是對其進行加載測試,以確保它可以處理生產負載(使用HP LoadRunner,RadView的WebLOAD等工具)。我應該加載測試託管的網站嗎?怎麼樣?

如果應用程序在外部託管,該怎麼辦?我可以加載 - 測試它嗎?我是不是該?怎麼樣?

回答

1

簡答:是的,你應該加載測試。

較長的答案:您應該嘗試在測試中複製生產環境。它不需要完全相同,但應該儘可能地接近,特別是在軟件環境和物理內存方面。 CPU速度對於複製來說不太重要(只要它合理相似),但您可能想要保持正確的CPU數量。儘量保持磁盤速度儘可能接近生產環境,因爲這可能是一個重大瓶頸。除非您正在進行大量寫入(臨時或永久),否則磁盤空間並不重要。

然後,您可以在投入生產之前對您的測試環境進行負載測試。這會讓你知道你的應用程序將處理多少負載。您的測試環境對生產環境越相似,您的結果就越有意義。

+0

這樣做,並確保您的網站上有足夠的監控。您可以在開發過程中對其進行加載測試,但您希望在活動時保持監視性能。 – GolezTrol 2010-12-12 16:29:46

0

你在共享的託管帳戶?那麼你需要首先聯繫你的託管公司,因爲你可能會打倒其他網站(拒絕服務攻擊...)

+1

請勿在生產環境中加載測試。始終在測試環境中進行所有測試。 – 2010-12-12 17:04:39

0

是最佳實踐嗎?是的,一點沒錯。

如果應用程序託管在外部,我該怎麼辦?我可以加載 - 測試它嗎?我是不是該?

是的,你可以,是的,你應該。

怎麼樣?

在過去幾年裏,隨着廉價小時計算機租賃(即EC2等雲供應商)的出現,這變得更加容易。查找支持從雲中生成負載的工具。如果您有內部系統進行測試,您應該從那裏開始 - 在這種情況下,您需要選擇一種允許內部和外部測試的測試工具(僅限於雲端負載測試服務通常不會)。

我會與其他答案以及傳統答案中的其中一個相沖突,說絕對應該儘可能測試您的生產系統。在理想的世界中,您將擁有一個完全相同的測試系統,因此只有在測試系統完全滿足性能要求(此時主要是形式)之後才能進行生產測試,以確保生產環境中的所有內容配置正確(並且您會驚訝於「相同」測試/生產系統的頻率不相同!)。但在現實世界中,完全重複的測試系統並不總是可行或實際的。我們定期測試我們的客戶生產站點 - 實際上,除開發和功能測試期間使用的單服務器系統外,我們的客戶中只有極少數擁有測試系統。這並不理想,但相當可行。

至於一般程序 - 啓動與一些最關鍵的用戶場景(測試用例),然後:

  1. 構建和驗證測試用例
  2. 運行測試並分析結果
  3. 優化/調整系統,直至達到性能目標
  4. 根據您的計劃/預算允許,擴大範圍並重復1-3。

儘量避免陷入模擬測試案件的細節「完全正確」 - 特別是在初期。任何負載測試只是現實世界使用的近似值 - 每天(或每小時)的現實世界使用情況都是獨一無二的。花費在一個測試用例上「恰到好處」的時間是花在測試其他15個應該測試的測試用例上的時間。我們還有一些關於our blog的文章可以幫助您入門。

祝你好運!

相關問題