This content is part of the Essential Guide: A vendor cloud platform comparison guide
Manage Learn to apply best practices and optimize your operations.

How to conduct performance testing using VSTS and Microsoft Azure

Performance testing using VSTS and Azure helps you collect critical data and know what to expect from your apps. Here's how to get started.

Doing performance load tests before deploying your application into production sets a baseline for measuring future...

performance, but it can also ensure that your application is production-ready. If you have test and dev environments, you may not have to touch production, but it's still preferred to set up your load testing prior. Fortunately, for organizations running Microsoft Azure's PaaS offering, setting up the initial performance test is not a head-banging experience. Let's walk through the process.

The performance load tests that we will run here will simulate testing over a period of time, while measuring overall application response time. We will run tests with a finite number of users and also show failures, which are important because they can help you identify potential problems.

Load testing steps

  • After you sign into the Azure Portal, go to your web app. If you have an account and would like to use Visual Studio, log onto your Visual Studio Team Services (VSTS) account.
  • From your Azure dashboard, find your web application, and on the left side of your screen, scroll down and click on Performance test and Run your test.
    Azure dashboard
    Starting your performance load test
  • If you have recently run performace load tests, the dashboard will recall your most recently run tests. If you would like to run a test, just click on that recent run, and it will allow you to rerun your test. This test will simulate a load of 250 users.
  • In this case, we'll run a manual test; just click on the button that says Run test.
    manual test
    Doing a manual test
  • It will than place the test in the queue to start.
    test queue
    Queuing up the test
  • From here, you can analyze everything that is going on, in real time. This output illustrates the percentage of testing that has completed, along with successful and failed requests.
    Tracking the test
    Showing percentage of test completed
  • This view shows the average response time per second, as well as the amount of requests per second. It also illustrates the CPU and working sets, which is an important gauge.
    CPU and
    A view of CPU and working sets

My suggestion is to run several types of performance load tests, focusing largely on the amount of users that you anticipate will be accessing the system. Perhaps start with 50, and increase in 50-user increments. Then, if you anticipate a max of about 500 users, try that. You can also try to change your location closest to your user base to more accurately simulate your environment and catch possible network latency issues. You can also see if pages load faster as time goes by, which might help you better understand where your problems are. You should know that when running tests using Visual Studio -- if you are using a trial edition -- the maximum amount of virtual users you can test with is 250. You can also run performance load tests for many different durations, up to one hour.

Using Visual Studio Team Services

What is Visual Studio? Visual Studio is an integrated development environment, which is used to develop websites, applications and mobile apps. VSTS provides an environment that allows you to automate and simplify the management and deployment of Azure web applications. From Azure directly, you also have a choice to configure the test to run as manual or to use the Visual Studio Web Test, which also provides for multi-URL test authoring. Performance testing using VSTS also allows you to keep a test history, which will be very useful to you. If you don't have an existing account, an account will be created automatically, after setting up your performance test.

  • , you'll need to configure your Azure App Service from Visual Studio, which is what we have done here. You will see the reference below to the Azure App Service Deploy.
    Azure App Service
    Configuring Azure App Service
  • When you log into your Visual Studio account, you'll see recent projects, or you can create a one. For version control, Git is the default provided, and you should use this, unless there is a reason to use more centralized version control.
  • For Work item process, we're using Agile. Your other choices are Capability Maturity Model (CMM) or Scrum. These processes differ in the work item methods they provide for tracking the work. Scrum is the most lightweight, and CMM provides support for more formalized processes and change management. Agile is used when your team uses Agile methods (of which Scrum is one).
    Agile work item
    Choosing Agile for work item process

How to access VSTS directly from Azure

  • If you click on the VSTS URL account link, you will go right into the load testing options.
    testing options
    Selecting load testing options
  • Click on the three dots (…), and you can start your load testing. One of the options is Load Test; click on Load Test.
    load test
    Choosing the option for load test
  • You will go right into Visual Studio and see all the load tests that you have performed. Double-click on the history of this test, which had been previously run, to see the output.
    checking output
    Checking output of previously run test
  • This illustration provides a detailed summary of what is going on -- your average response time, user load, requests per second, number of failed requests, errors and usage. The users are simulated by test agents, which are computing resources (CPU, RAM and network).
    load test results
    A summary of load test results
  • This view provides a graphical representation of the test, providing information about overall performance and throughput.
    graphical view
    A graphical view of the test

There is no shortage of data when you conduct performance testing using VSTS or Azure, so choose whatever works best for you and your team. When you monitor your web applications, you should be looking at RAM and CPU as they relate to the amount of requests. It is only after you observe what is going on and then analyze your data that you can begin to think about mitigating problems by tuning your system. You can't fix your problem unless you understand if the problem is related to , CPU, inefficient application coding, database queries or perhaps network. This is why gathering data through performance load tests is critical to any performance-tuning exercise.

Next Steps

PaaS separates Azure from competition

A look at Microsoft Azure functions

How to avoid multicloud app performance problems

Dig Deeper on Cloud application monitoring and performance