2013-03-01 89 views
9

我進行對新興的網絡技術一些研究,並創建了一個非常簡單的Azure的網站,利用網絡套接字和蒙戈DB作爲數據庫的Windows Azure的Web應用程序。我設法讓所有組件一起工作,現在必須對應用程序執行負載測試。測試最大用戶負載

主要標準是應用程序可支持的最大用戶負載,此刻有1個Web角色實例,因此可能需要測試該實例的最大用戶負載,然後嘗試2個實例上。

我發現了一些解決方案,在線等Loadstorm,不過,我可以付不起,所以我需要能夠從我自己的開發機器或從其他雲服務這樣做是爲了使用這些服務。

我遇到過Visual Studio負載測試,它們看起來非常有用,但它似乎需要VS Ultimate和活動的msdn訂閱 - 前提條件列出爲here。此外,從this video,它顯示了負載測試的基礎知識,似乎這些負載測試完全與實際的Web項目分開創建,這是否意味着我只能看到與用戶相關的指標?即我看不到使用的RAM量,處理器等

任何建議?

回答

6

您可以在Azure本身或其他託管提供商中創建Linux虛擬機,並使用ApacheBench(ab)或JMeter對您的應用程序執行簡單負載測試。請注意,在這樣的設置中,您的基準服務器本身可能是瓶頸。

另一種方法是使用在線負載測試服務至極允許一些免費使用,如:

+0

謝謝,我會檢查出loader.io它看起來很有趣! – Matt 2013-03-02 09:56:10

+1

Loader.io非常適合我的需求,再次感謝! – Matt 2013-03-04 09:38:42

3

對於負載測試,LoadStorm是非常合理的價格,特別是相對於內部部署軟件(並有多達25個虛擬客戶端自由層)。您可以安裝諸如Jmeter之類的代碼,但您仍然需要機器(或虛擬機)來託管和運行它,並且您需要確保負載生成器機器不是測試中的瓶頸。

當你運行你的測試,你可能要考慮從MongoDB的分離你的web層。 MongoDB將消耗盡可能多的內存(因爲這是MongoDB的速度)。在現實世界中,您可能會在自己的環境中使用MongoDB。因此,爲了您的測試,我會考慮將MongoDB卸載到它自己的實例中,並且10gen有一個安裝相當簡單的Worker Role setup

還記得網卡的帶寬是每個核心的100Mbps,這可能是在您的測試的一個限制因素,這取決於你有多少負載驅動。

自託管MongoDB的一種替代方法:將MongoDB卸載到諸如MongoLab等託管服務器。這將允許您測試您的Web應用程序的容量,而不用擔心MongoDB設置,配置,優化等方面的細節。目前,MongoLab提供其在Azure,美國西部和美國東部數據中心託管的免費層。

+0

感謝您的意見!附:我確實使用MongoDB的工作角色,實際上總體目標是測試用azure,mongodb和websockets構建的網站的可行性:) – Matt 2013-03-02 09:59:12