Top Banner
Using the Cloud-Based Load Testing Service and Application Insights to Find Scale and Performance Bottlenecks in Your Applications
31

Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Jul 28, 2015

Download

Technology

Marcel de Vries
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Using the Cloud-Based Load

Testing Service and Application

Insights to Find Scale and

Performance Bottlenecks in

Your Applications

Page 2: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

About me: Marcel de [email protected]

@marcelv

http://fluentbytes.comXpirit

Also regional director

Page 3: 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

Page 4: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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 ….

Page 5: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Why Load Testing?

Page 6: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 7: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 8: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOLoad testing using Visual Studio

Page 9: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 10: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 11: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

What is needed to make that work?

Net load testing can be:

Page 12: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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?

Page 13: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Benefits of cloud load testing

Page 14: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 15: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOCloud based Load testing using Visual Studio

Page 16: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

New capabilities in VS 2015 & Update 5

Page 17: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 18: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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!

Page 19: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

360 degree view of your application

Performance UsageAvailability Diagnostics

Application Insights

Page 20: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOGetting Started with Application Insights

Page 21: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Performance

• Client performance

• Server performance

• Performance counters

– You can add your owncounters via config

Page 22: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 23: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOAdding & Looking at diagnostic information

Page 24: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

VSO AppInsights -> Azure

Page 25: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOIntegrating Cloud Load tests and Application Insights

Page 26: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 27: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

DEMOSet up Multistep Synthetic monitor

Page 28: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 29: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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!

Page 30: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

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

Page 31: Using the cloud-based load testing service and application insights to find scale and performance bottlenecks in your applications

Further reading & Help

Xpirit Magazine in your TechDaysbag

http://fluentbytes.com

@marcelv

[email protected]

Need help? Contact us