using the cloud-based load testing service and application insights to find scale and performance...

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

Upload: marcel-de-vries

Post on 28-Jul-2015

615 views

Category:

Technology


1 download

TRANSCRIPT

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

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

Why Load Testing?

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

DEMOLoad testing using Visual Studio

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

What is needed to make that work?

Net load testing can be:

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?

Benefits of cloud load testing

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

DEMOCloud based Load testing using Visual Studio

New capabilities in VS 2015 & Update 5

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!

360 degree view of your application

Performance UsageAvailability Diagnostics

Application Insights

DEMOGetting Started with 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

DEMOAdding & Looking at diagnostic information

VSO AppInsights -> Azure

DEMOIntegrating Cloud Load tests and Application Insights

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

DEMOSet up Multistep Synthetic monitor

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

[email protected]

Need help? Contact us