BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
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.
- If you have recently run performace load tests, the dashboard will recall your most recently run tests. If you would like to run a new 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.
- It will than place the test in the queue to start.
- 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.
- This view shows the average response time per second, as well as the amount of requests per second. It also illustrates the CPU and memory working sets, which is an important gauge.
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.
- First, 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.
- When you first log into your Visual Studio account, you'll see recent projects, or you can create a new 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).
How to access VSTS directly from Azure
- Click on the three dots (…), and you can start your load testing. One of the options is Load Test; click on 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.
- 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).
- This view provides a graphical representation of the test, providing information about overall performance and throughput.
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 memory, 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.
PaaS separates Azure from competition
A look at Microsoft Azure functions
How to avoid multicloud app performance problems