using the cloud-based load testing service and application insights to find scale and performance...
TRANSCRIPT
Using the Cloud-Based Load
Testing Service and Application
Insights to Find Scale and
Performance Bottlenecks in
Your Applications
Agenda
• Load testing• Cloud based load testing• Application insights & Performance• Availability monitoring
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 ….
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
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
Typical Enterprise setup
Prod.myenterprise.comProd 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
Load test configurationTST.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
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?
Cloud Load test configurationTST.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
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
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!
Performance
• Client performance
• Server performance
• Performance counters
– You can add your owncounters via config
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
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
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
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!
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
Further reading & Help
Xpirit Magazine in your TechDaysbag
http://fluentbytes.com
@marcelv
Need help? Contact us