Lasttests (Load Tests) leicht gemacht mit Visual Studio Online
Viele moderne Anwendungen, insbesondere Webanwendungen welche über das Internet bereitgestellt werden, werden von einer großen Zahl Nutzern gleichzeitig verwendet. Bei manchen Anwendungen steht die Benutzerzahl zum Zeitpunkt der Entwicklung fest, zum Beispiel bei internen Unternehmensanwendungen. Bei anderen hingegen, ein typisches Beispiel sind Webseiten, kann die Benutzerzahl stark zunehmen bzw. schwanken.
In beiden Fällen muss schon zum Zeitpunkt der Entwicklung für die erwartete (Nutzer-)Last geplant werden bzw. die Architektur auf eine steigende Last und Skalierungsmöglichkeiten ausgerichtet werden.
Um die Architektur der eigenen Anwendung und die implementierten Skalierungsstrategien (siehe Blogeintrag vom 11.2.14) unter realitätsnahen Bedingungen zu testen, sollten in jedem Fall Lasttests der eigenen Anwendung durchgeführt werden. Hierfür stehen mit Visual Studio Ultimate passende Werkzeuge bereit. Die Herausforderung ist jedoch vielfach, unter lokalen Hardwarerestriktionen einen Test mit der ausreichenden Zahl virtueller Nutzer durchzuführen. Beschränkende Faktoren können z.B. die Internetanbindung, Firewall-Regeln oder unzureichende Testsysteme sein.
Um diese Einschränkungen zu adressieren und somit realitätsnahe Lasttests für jeden zu ermöglichen, können diese Tests mit Visual Studio Online in der Cloud durchgeführt werden. Visual Studio Online verwendet hierbei die Infrastruktur von Windows Azure und bietet somit die Möglichkeit tausende virtuelle Nutzer zu simulieren. Hierbei können komplexe Nutzungsmuster simuliert werden und Parameter wie die zeitliche Verteilung der Last detailliert angepasst werden.
In meinem Webcast zum Thema Auto-Skalierung mit Windows Azure Cloud Service und Load Testing, durchlaufe ich einen vollständigen Lasttest mit Visual Studio Online und zeige, wie dieser für einen Test der eigenen Skalierungsmechanismen verwendet werden kann.
Eine ausführliche Schritt für Schritt Anleitung (How-To) gibt es zudem auf der Website von Visual Studio Online.
Wer einen ausführlichen Überblick über das Thema Load Testing mit Visual Studio Online (ehemals Team Foundation Service) sucht, dem empfehle ich die folgende Session von der TechEd Australia.
Load Testing with Team Foundation Service (https://channel9.msdn.com/Events/TechEd/Australia/2013/DEV326B)