Do you find it painful to set up an infrastructure to run performance and load tests? Do you think load testing is an expensive affair? Do you have a need for testing your service with a large burst load just before your big launch? Do you want to get a 360 degree of the performance and availability of your application when tested under load conditions? In this session, see how you can use the cloud-based load testing service provided by Visual Studio Online in conjunction with the monitoring and analytics capabilities of Application Insights to quickly run load tests and fix performance bottlenecks.
4. Why should I load test my
systems?
4
Reasons not to:
• No time because we are to
busy developing features
before we have the deadline
• To much work to set things
up on premises
• To costly to run load test tools
• We did not know it was so
easy ….
6. Setting up your load test
• Need to create scenarios
• Need to provide a real life scenario mix
– Not everyone who browses a site will buy the product
– Simulate actual conversion
• This can be done with Visual Studio
– Load and performance tests
– In 2015 in enterprise version
7. Web performance and load test
• Visual Studio Ultimate
• In 2015 in enterprise
• Web Performance Test
– Record scenarios
– Visit pages or call REST API
• Any unit test
– E.g. a test calling your WCF/REST services
9. Typical Enterprise setup
Prod.myenterprise.com
Prod servers
Workplace clients
Prod network
AD server
&
DNS Server
Dev.myenterprise.com TFS
Server
Dev Clients
DEV network
AD server
&
DNS Server
TST.myenterprise.com
TST Clients
TST network
AD server
&
DNS Server
Dev Servers
TST Servers
10. Load test configuration
TST.myenterprise.com
TST Workstation
TST networkAD server
&
DNS Server
Load test rig
System Under Test
Load generator
Load generator
+
Controller
6901*
6901*
Http(s)://myurl.tst.myenterprise.com
Load test database
11. What is needed to make that work?
Net load testing can be:
12. Hosting Test Controller and Test Agents on Azure
• You can deploy test controller and Agents on
Azure VM’s
• Lot of work to get this configured
– Especially network communication
• Wouldn’t it be great if MS took care of this
for you?
14. Cloud Load test configuration
TST.myenterprise.com
TST Workstation
TST network
AD server
&
DNS Server
Load test rig
System Under Test
Load generator
Load generator
+
Controller
6901*
Http(s)://myurl.tst.myenterprise.com
17. What are important metrics?
• When we run load tests we need to have
insights into how the System under test
behaves
– CPU, Network, I/O, Exceptions, etc.
• We want to have detailed diagnostics when
things break
18. How do I get performance data from servers?
• In on premises scenario, just connect to the
machines as admin and pull the performance
counters
• Cloud based scenario, not easy to do
• Meet application insights!
19. 360 degree view of your
application
Performance UsageAvailability Diagnostics
Application Insights
22. Diagnostics
• App insigths diagnostics help you figure out what
happened around a particular issue
• Find the events in the app insights portal
• Drill down in to events surrounding the issue
26. Re-use of your web tests
• In Application Insights you can monitor your
websites availability
• Simple: Single URL
• Complex: Upload a web test that represents
actual usage of your site
28. But what does this cost?
• First we need to define a VUM..
– Virtual User Minute
– One minute of load testing of one Virtual user
– Constant load 25 users 3 minutes
• 25*3 = 75 VUM
• E.g run a test for 1 hour to simulate 10,000 users =>
– 60 * 10,000 => 600,000 * 0.0004 = $240
29. Load testing part of the build
• TFS 2015 will have a new build
infra structure
– New build designer (Web)
– New build agents (NodeJS)
– New build tasks (incl. cross
platform)
– Is compatible with XAML builds
on windows only
• New tasks include load testing!
30. Conclusion
• Cloud based load testing enables easy road to load
testing for your external facing sites / API’s
• Application insights provides great insights into usage of
your product
– Performance
– Usage
– Diagnostics
– Availability
• When you have the web tests you used in the load test
you can now reuse them for availability monitoring
31. Further reading & Help
Xpirit Magazine in your TechDays
bag
http://fluentbytes.com
@marcelv
mdevries@Xpirit.com
Need help? Contact us