2013-03-01 6 views
9

Ich leite einige Forschung zu neuen Webtechnologien und habe eine sehr einfache Azure-Website erstellt, die Web-Sockets und mongo db als Datenbank verwendet. Ich habe es geschafft, alle Komponenten zusammenarbeiten zu lassen und muss nun Belastungstests für die Anwendung durchführen.Testen einer Windows Azure-Webanwendung für maximale Benutzerlast

Das Hauptkriterium ist die maximale Benutzerlast, die die App unterstützen kann, im Moment gibt es 1 Webrolleninstanz, also müsste ich wahrscheinlich die maximale Benutzerlast für diese Instanz testen, dann mit 2 Instanzen und so versuchen auf.

Ich habe einige Lösungen online gefunden, wie zum Beispiel Loadstorm, aber ich kann es mir nicht leisten, diese Dienste zu nutzen, also muss ich das von meiner eigenen Entwicklungsmaschine ODER von einem anderen Cloud-Dienst aus tun können.

Ich bin auf Visual Studio Load Tests gestoßen und sie scheinen ziemlich nützlich zu sein, jedoch scheint es, dass sie VS Ultimate und ein aktives msdn-Abonnement erfordern - die Voraussetzungen sind aufgeführt here. Auch von this video, die die Grundlagen der Belastung Tests zeigt, scheint es, als ob diese Belastungstests vollständig getrennt von der tatsächlichen Web-Projekt erstellt werden, so bedeutet das, dass ich nur Metriken im Zusammenhang mit dem Benutzer sehen kann? d. h. ich kann die Menge an RAM, die verwendet wird, Prozessor usw. nicht sehen.

Irgendwelche Vorschläge?

Antwort

6

Sie können eine virtuelle Linux-Maschine in Azure selbst oder einem anderen Hosting-Provider erstellen und ApacheBench (ab) oder JMeter verwenden, um einfache Auslastungstests für Ihre Anwendung durchzuführen. Beachten Sie, dass Ihre Benchmark-Server in einem solchen Setup selbst ein Flaschenhals sein können.

Ein weiterer Ansatz ist eine Online-Last-Tests einige freie Nutzung ermöglichen wich zu verwenden, wie zum Beispiel:

+0

Danke, ich werde überprüfen loader.io es interessant aussieht! – Matt

+1

Loader.io funktioniert gut für meine Bedürfnisse, nochmals vielen Dank! – Matt

3

Für Last-Tests wird LoadStorm sehr günstig, vor allem im Vergleich zu vor Ort installierter Software (und hat ein freies Tier mit bis zu 25 virtuellen Clients). Sie können Code wie jmeter installieren, aber Sie benötigen immer noch Maschinen (oder VMs), von denen Sie hosten und ausführen, und Sie müssen sicherstellen, dass die Lastgenerator-Maschinen nicht der Engpass in Ihren Tests sind.

Wenn Sie Ihre Tests ausführen, sollten Sie möglicherweise Ihre Web-Tier von MongoDB trennen. MongoDB wird so viel Speicher wie möglich verbrauchen (das gibt MongoDB seine Geschwindigkeit). In einem realen Szenario haben Sie MongoDB wahrscheinlich in einer eigenen Umgebung. Für Ihre Tests würde ich in Betracht ziehen, MongoDB auf seine eigene (n) Instanz (en) zu entladen, und 10gen hat eine Worker Role setup, die ziemlich einfach zu installieren ist.

Denken Sie auch daran, dass die NIC-Bandbreite 100 Mbps pro Kern beträgt, was je nach Auslastung der Last ein begrenzender Faktor für Ihre Tests sein könnte.

Eine Alternative zum Self-Hosting von MongoDB: Laden Sie MongoDB auf einen Hoster wie MongoLab herunter. Dadurch können Sie die Kapazität Ihrer Web-App testen, ohne sich um die Details von MongoDB Setup, Konfiguration, Optimierung usw. kümmern zu müssen. Derzeit bietet MongoLab seine kostenlose Stufe in den Rechenzentren Azure, US West und US East an.

+0

Danke für die Eingabe! p.s. Ich verwende die Worker-Rollen für MongoDB, in der Tat ist das allgemeine Ziel, die Lebensfähigkeit einer Website zu testen, die mit Azur, Mongodb und Websockets gebaut wurde :) – Matt

0

Wenn Sie daran interessiert sind, die Leistungsindikatoren der zu testenden Anwendung zu finden, können Sie einige der neuesten Funktionen erneut aufrufen, die dem Visual Load Cloud-Basislasttest hinzugefügt wurden. http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx

Um weitere Informationen zu Visual Studio Cloud-Load Testing-Lösung zu erhalten - https://www.visualstudio.com/features/vso-cloud-load-testing-vs