Duration 10:00
16+
Play
Video

Introduction to Load Testing: Find out if your app will survive peak usage using VSTS

Donovan Brown
Principal Cloud Advocate Manager of the Methods and Practices Organization at Microsoft
  • Video
  • Table of contents
  • Video
Microsoft Build 2018
May 9, 2018, Seattle, USA
Microsoft Build 2018
Video
Introduction to Load Testing: Find out if your app will survive peak usage using VSTS
Available
In cart
Free
Free
Free
Free
Free
Free
Add to favorites
20.68 K
I like 0
I dislike 0
Available
In cart
Free
Free
Free
Free
Free
Free
  • Description
  • Transcript
  • Discussion

About speaker

Donovan Brown
Principal Cloud Advocate Manager of the Methods and Practices Organization at Microsoft

Meet The Man in the Black Shirt. Donovan Brown is a Principal Cloud Advocate Manager of the Methods and Practices Organization in DevRel at Microsoft. Before joining Microsoft, Donovan spent seven years as a Process Consultant and a Certified Scrum Master. Cloud Methods and Practices are his thing. Donovan has traveled the globe helping companies in the U.S., Canada, India, Germany, and the UK develop solutions using agile practices, Visual Studio, and Team Foundation Server in industries as broad as Communications, Health Care, Energy, and Financial Services. What else keeps the wheels spinning on The Man in The Black Shirt? Donovan's also an avid programmer, often finding ways to integrate software into his other hobbies and activities, one of which is Professional Air Hockey where he was ranked as high as 11 in the world.

View the profile

About the talk

In this video we'll introduce you to Load Testing capability powered by Microsoft Azure and Visual Studio Team Services (VSTS). You'll see how to get started to test your website or API by taking advantage of various degrees of customization to your load test in Azure, VSTS and even Visual Studio for the most flexibility.


Share

Hi, I'm Donovan Brown principal devops manager for Microsoft load. Testing is a great way to find issues in your software up before your users to make sure is your application grows in popularity. It is ready for the additional load. There are several ways using Azure Visual Studio team services and visual studio. They get started with load testing. Let's Jump Right In and let me show you how you get started. If your application is already being hosted an Azure. The quickest way to get started is just to go to that app service on the app service blade itself is a way for you to start a

performance test the scroll all the way down to the development tools. And here we are going to see performance test give you the ability to create a very quick and easy performance test right here in the Azure portal to get started. You just click on new and from here you get to choose the URL for what you want to test. This happens to be a URL for a web service. But I've already hit this year oil directly where you can actually see the webpage. That's not what I want. What I want to do is build into the API. When I click on this you're going to see that it's a web service bringing back from

XML results. That's what actually went to low-tech something to copy that and then paste that as do your oil that I want to go in to do a get against when that is done. I've been able to give the test and decide where in the world that I want to actually run the test. And then also what the load that I want to run particular tests and for how long already done this and what you'll see is you get the test results just like this one. These are the results of a load test running with 250 concurrent users against that same endpoint. You can see the response time. You can see how many filled

request that we had and get a quick overview on what's the health of my application and will I be able to sustain the load that we're looking for also down here at the bottom. You'll be able to see the CPU time and memory usage see if the scale you that you have is big enough or not. And if not, you can decide the skeleton up right now and make sure that you got to be ready for the load. This information is not only surfaced here in the Azure portal. It's awful service. Inside a visual studio team services on this link here. I'll be taking to the account that's backing this particular

application and from here. I can simply click on my load test. So I go to test and then from here, I'm going to click on load test and I'll be able to see all the low test that I'm running including the load test that come from the Azure portal. We remember the name of that particular test, which I believe is this one here we can now see the same results that we saw inside of the Azure portal directly from inside of Visual Studio team Services. If I were to open this up, you'll get very similar charts and let me know again the average response time and use our load how long the test ran and

if there were any errors or not. It also shows me my slowest request. Of course, she only made one so that will be the slowest request that you can also create more control. If you do it from inside of Visual Studio team services, for example, that only can I create the same type of user base test it with a URL but I can also use a visual studio test, which will do How to create here in just a moment. I can use a archive file from Fiddler. If you've been using that to track your traffic or I can even use Apache jmeter for using that instead but let's duplicate the same test that we

create a just a moment ago and see that we actually have more power when we do it inside of Visual Studio team Services. We're going to go ahead and give this a temporary name and I can add an additional URL that I could not do before. It was only one you are out and I can only do I get but here's a visual studio team Services. I can do a get post put delete all the different types of methods that I want to perform against my particular in point example, I can come down here and give it a content type in actually given the information that I'd want in addition to that. I can click on settings

which allows me to set the duration also changed the load pattern that I want to reply to my application. Do I want all 250 people to hit it all at once or do I want to slowly build up to 250 as the application start to become more popular. How do constant here for now? I can choose the number of P. The warm-up and I can also control the browser makes which I cannot control from inside the Azure portal. Another thing that I can do a much larger list of reagent. I don't notice this list is much larger than the inside of the Azure portal if you've already taken the time to set up your own

physical rig as well, but the advantages of using the cloud really make creating your own rig a thing that we don't do anymore. Now you get to use the power of the cloud to provision all the resources necessary to generate an enormous amount of load. And then when you're done get rid of all those machines versus you have enough physical machines yourself, once you're done with that. I have a test very similar to what we did before and your results are going to look just like they did when they came from the Azure portal here. I can open up one of my runs again. I can see my average

response. The number of users. I used how long are in any errors that I actually had that failed to that particular test. No, you may have noticed that as we move along we're getting more and more control over the low test that we run and there's one other way that you can actually create your lotet. One of them is directly inside of Visual Studio itself. There is a solution type that you can create the author of the test that you want to run over to open up this webcast. You can actually see the request that I made let me bring up the properties for you and when he was bring up the

property to see that there's so much more control not only do I have no control over the method but even the version of the transport protocol that I want to use the URL that I want to ask me hit and I can't even control the headers that gets sent to enable gzip. For example, if I want to make sure that it says we back XML vs. Json I get to control all of the headers with your really really important thing that's really important is your ability to add validation to the request and the response. Any previous tests, we were sending the requests and if we were getting a 200 we assume that

everything was good, but what if I got a 200 but the data in spite of it was not the date of that. I was expecting we were not able to test that with the other two meth, but here I can actually add a validation rule because I know I'm going to be getting XML back I can ask you say let's go in require that there be a first name tag. And then that first name that's a pretty simple Jessica is the value that I want inside of it. I can actually use these tags and is validation rules to be able to Bear if I got to actually got the date of that I wanted to and if we run it at load weird things

don't start to happen. So I get a restraining to get more and more power and control over the load test that we're running as we get closer to visual studio a load at a low test allows you to control what computers are used. What addresses are hit what browser mix that you want what network mix that you want as well if you wanted to pretend that some people are coming from a phone using 3-g or 4G vs coming from a landline. You can do that to make sure that the responses work the way that you want to you also have the ability to set

thresholds which are really important response times are great. But what if I wanted to check other metric on my application here under the load test settings I'm able to drill into any item that I want to and actually set a threshold a threshold is a value that I want to be watched during the execution of my test and if those values or ever Eclipse, I'm able to Denbigh notify that at this point in your test. We had the threshold violation you weren't able to sustain as many simultaneous users. Maybe your response to complete control of what's important to you. And what needs to be

monitored during your test. Once this is done. You can execute the test like we did before and we're going to be utilizing the resources that are in Azure to generate the load for you. If you want again, you can actually use your own laptop for a small load or send up your own rig, but I would encourage you to make sure you really don't want to use the stuff that's in the cloud cuz it's really really nice and it makes life so much easier than having a What is an irregular self test is done to see all of the results like we did before we get much more detailed results when we actually

inside of Visual Studio. Nothing. I can see the threshold that were violated as you can see. I said a threshold to see what my requests per second we're going to be and if they ever dropped below 100. I wanted to be alerted at one point during might want to sex with let me know that at some point my infrastructure was not able to sustain the same number of uses that I wanted to and I might want to go investigate this and figure out what's going on any threshold violation that might have happened would have been shown for me hear automatically. I can also go back in and look at the performance

result download the details and see all of the information that was happening during the execution of my test test as great as a one-off that you might want to go off and run but then I want to figure out how I can do this all the time. My entire pipeline what's really nice is using visual studio team Services, you can take the information that I just showed you and incorporated into your building a release pipeline. I'm going to take you to an existing released pipeline Elmo show you the task that you can use to run these tests during your actual release in doing so you no longer

have to stop what you're doing and manually run them your release is going to tell you if you made any detrimental changes to the performance of your application while you're deploying your code for your pipeline, a lot of people do this during there are two egg or their staging environment switches. Look very very similar to the production environment and in doing so they're able to determine if the changes they've made I've had a detrimental effect on their actual performance. And as you can see in Cairo my released pipeline if I go to the QA environment and look at the tasks

here, I actually happen to be running a performance test as part of my release does other tasks that I can use as well. So if I come here I simply search for load test. You will see that there's several test task that I can use to run load test as part of my released pipeline allowing me to make sure that none of my code has asked if you had a detrimental impact on my performance. Before I go I would encourage you to visit doc. Microsoft.com to learn more about load testing.

Cackle comments for the website

Buy this talk

Access to the talk “Introduction to Load Testing: Find out if your app will survive peak usage using VSTS”
Available
In cart
Free
Free
Free
Free
Free
Free

Access to all the recordings of the event

Get access to all videos “Microsoft Build 2018”
Available
In cart
Free
Free
Free
Free
Free
Free
Ticket

Interested in topic “Software development”?

You might be interested in videos from this event

September 28, 2018
Moscow
16
159
app store, apps, development, google play, mobile, soft

Similar talks

Jessica Deen
Senior Cloud Advocate at Microsoft
Available
In cart
Free
Free
Free
Free
Free
Free
Abel Wang
Principal Cloud Advocate, DevOps Lead at Microsoft
Available
In cart
Free
Free
Free
Free
Free
Free

Buy this video

Video

Access to the talk “Introduction to Load Testing: Find out if your app will survive peak usage using VSTS”
Available
In cart
Free
Free
Free
Free
Free
Free

Conference Cast

With ConferenceCast.tv, you get access to our library of the world's best conference talks.

Conference Cast
558 conferences
22053 speakers
8194 hours of content