Azure Load Testing Detailed Walkthrough

Поделиться
HTML-код
  • Опубликовано: 30 июл 2024
  • Azure Load Testing can help you gain confidence in your application and architecture, by knowing it will scale and perform under demand to meet business requirements, and if it doesn't, you will be able to quickly understand where the bottleneck in your application architecture lies.
    You can easily integrate load tests to your CI/CD process to build confidence during the build and release process of your applications. Join me to take a detailed look at Azure Load Testing, a new fully managed testing service provided by Microsoft!
    // SUBSCRIBE ✅
    ruclips.net/user/mattallford?su...
    // RESOURCES & REFERENCES 📃
    Azure Load Testing Pricing :
    🔗azure.microsoft.com/en-us/pri...
    Create an Apache JMeter script :
    🔗docs.microsoft.com/en-us/azur...
    Azure Load Testing Roles:
    🔗docs.microsoft.com/en-us/azur...
    Configure a load test in YAML:
    🔗docs.microsoft.com/en-us/azur...
    Azure Sample Application:
    🔗github.com/Azure-Samples/node...
    Apache JMeter:
    🔗jmeter.apache.org/
    Apache JMeter Download (Requires Java):
    🔗jmeter.apache.org/download_jm...
    Example JMeter scripts used in demos:
    🔗gist.github.com/mattallford/a...
    // FOLLOW ME 👉
    Blog - mattallford.com
    LinkedIn - / mattallford
    Twitter - / mattallford
    GitHub - github.com/mattallford
    // TIMESTAMPS 🕛
    00:00 - Introduction
    02:05 - Azure Load Test Overview
    13:50 - Pricing
    16:00 - Demo Agenda
    18:05 - Prerequisites
    20:36 - Create Azure Load Test
    23:37 - Load Test Roles
    24:49 - Review Load Test Resource
    26:03 - Create a Test in the Portal
    33:30 - Review Test Results
    38:22 - Compare Tests
    40:01 - Using Parameters in Tests
    47:09 - Using Secrets in Tests
    58:38 - Adding Server Side Metric Monitoring
    1:05:38 - Apache JMeter User Interface
    1:09:41 - Identify Bottlenecks Using Azure Load Test
    1:24:47 - Integrate Azure Load Test with CI/CD (GitHub Actions)
    1:51:55 - Summary
  • ХоббиХобби

Комментарии • 75

  • @sharry87
    @sharry87 2 месяца назад

    I created for post and get packets to https and using dynamic data.. All thanks to this tutorial.

  • @user-pj9ut4bk5y
    @user-pj9ut4bk5y 7 месяцев назад +1

    Great work! Clear and concise instructions. Thanks for that. 😍

  • @ibukun4069
    @ibukun4069 Год назад +1

    Great content with clear explanations

    • @MattAllford
      @MattAllford  Год назад

      Thanks Ibukun, appreciate the comment and I’m happy it was helpful!

  • @marcdiaz1844
    @marcdiaz1844 5 месяцев назад +1

    Great video Matt, thanks a lot!

    • @MattAllford
      @MattAllford  5 месяцев назад

      My pleasure! Thank you for watching!

  • @PekDraine
    @PekDraine Год назад

    Great Matt! Really. Informative and hands-on examples.

    • @PekDraine
      @PekDraine Год назад +1

      You got me as an new follower

    • @MattAllford
      @MattAllford  Год назад

      Hey there, sorry I just realised I missed this comment. Really happy you enjoyed the content, more to come!

  • @maanasanagarajan4138
    @maanasanagarajan4138 7 месяцев назад +1

    Great video! Very useful and highly informative. Thank you 🙂

    • @MattAllford
      @MattAllford  5 месяцев назад

      Thank you for watching! I’m glad it helped.

  • @rishad356
    @rishad356 2 месяца назад

    That's an amazing walkthrough... Very informative and to the point...

    • @MattAllford
      @MattAllford  2 месяца назад

      Thank you for watching and taking the time to comment - I really appreciate the feedback!

  • @Akshattheyoutuber
    @Akshattheyoutuber Год назад +1

    Great work Matt.. Thanks

  • @aghiles2893
    @aghiles2893 Год назад +1

    Excellent video!

    • @MattAllford
      @MattAllford  Год назад +1

      Thank you, I appreciate the feedback!

  • @agito289
    @agito289 Год назад +1

    Wow. What a great video, and for free at that!

  • @satyamparmar4458
    @satyamparmar4458 Год назад

    great content!! Thanks for the awesome info.

    • @MattAllford
      @MattAllford  Год назад +1

      Thank you for watching and for the nice comment too 🙂 glad it was helpful!

  • @shubhasismathur
    @shubhasismathur Год назад +1

    Thank you Matt, this is awesome.

    • @MattAllford
      @MattAllford  Год назад +1

      You are most welcome! I appreciate the comment, and am super happy you liked the content 😃

    • @shubhasismathur
      @shubhasismathur Год назад

      My pleasure Matt. Your content and way of explaining is super nice.

  • @sharry87
    @sharry87 2 месяца назад

    One of the best!!

  • @user-ur6fl7ro6y
    @user-ur6fl7ro6y Год назад

    Really excellent video thank you so much :)

    • @MattAllford
      @MattAllford  Год назад

      You are most welcome! Thanks so much for letting me know you enjoyed the content :)

  • @prateekbansal9774
    @prateekbansal9774 11 месяцев назад

    Very informative 👏🏽

  • @zamarinen
    @zamarinen Год назад

    Tip for a video
    Powershell Pestor for testing (Unit, Validation etc)

  • @saurabhsrivastav902
    @saurabhsrivastav902 Год назад +1

    Thank you so much for the video.. Could you also explain about AWS Distribution load test? Would be helpful.. :)

    • @MattAllford
      @MattAllford  Год назад

      Hey @saurabhsrivastav902, thanks for the comment! I'm not familiar with AWS sorry, hopefully there's some other content out there to help!

  • @SnoopBok
    @SnoopBok Год назад

    I love this video, it gives me a very clear understanding of Azure Load Testing. Thank you 🙂
    PS: what application do you use to draw arrows and stuff while presenting?

    • @MattAllford
      @MattAllford  Год назад +1

      Thanks for the comment, glad it was helpful!
      For the markup tool, this one is called ZoomIt, which is part of the Microsoft Sysinternals utilities.

    • @SnoopBok
      @SnoopBok Год назад

      @@MattAllford Thanks for you reply, really appreciate it. Nice tool to use when giving demos 🙂

  • @ruppicool1
    @ruppicool1 Год назад

    amazing...

  • @ahande123
    @ahande123 7 месяцев назад +1

    Great video Matt.
    Is there a Q&A board for asking questions on Azure load test? The Microsoft Q&A board for Azure load testing is dead.
    I have several issues with my JMeter script that works well locally with no issues but chokes in Azure load test.
    The documentation is useless. There are no examples / documentation on how to ensure that cookies are extracted and passed in with every subsequent request after logging in.
    I have an HTTP cookie manager at the plan level in the JMX and that works great and I can test all areas of the website.
    But since the cookie extraction doesn't work, I can't get past the login process in Azure load test.
    No help to be found anywhere.
    Azure load test is not ready for prime time.

    • @MattAllford
      @MattAllford  7 месяцев назад +1

      Thanks for watching!
      Sorry to hear the docs are falling short. Do you have an active subscription with a support agreement? It could be worth opening a service request via the Azure Portal.
      Otherwise, I believe the team moved from GitHub issues over to the VS developer community for load testing ideas, feedback, and issues. URL is below, I hope this helps!
      developercommunity.visualstudio.com/loadtesting

  • @kumark-co9ei
    @kumark-co9ei 10 месяцев назад

    Thankyou for posting the video.
    in the test criteria
    when i add 10 metrics in load test getting pass failure can't have 10 metrics points
    can you pls help on this

    • @MattAllford
      @MattAllford  10 месяцев назад

      No worries, hopefully it was helpful!
      I haven’t come across that issue before sorry.

  • @Can_İsmail
    @Can_İsmail 2 месяца назад +1

    Hi Matt, Thank you for great content. I get an "MalformedURLException" error after running tests with an jmx file. Do you have any idea about this?

    • @MattAllford
      @MattAllford  2 месяца назад

      I haven’t come across that myself, sorry. There seems to be a bit of information about that error and JMX files. Have you gotten far with general troubleshooting or even with a LLM like ChatGPT?

    • @sharry87
      @sharry87 2 месяца назад

      I also got MalformedURLExpception. I used your sample directly and used it from git. It appears as if somehow environment variables are not picking up. Checked UDVs it is correct. Any settings in Azure to somehow let it pick?

  • @user-wo5vr6jj3m
    @user-wo5vr6jj3m Год назад +1

    Hi @Matt
    Another issue - Unable to upload JMeter script which works fine in local system
    While trying to upload the JMeter script in Test plan tab of Azure load testing service, it throws the following error “The uploaded JMeter script is invalid. Please remove it, and upload a valid script.” But the script is working fine in local system. Please let me know what would be causing this issue?

    • @MattAllford
      @MattAllford  Год назад

      Hi there!
      Unfortunately I’ve got no idea, sorry. I’d recommend logging a support request with Microsoft, or reporting the issue in the community below (I noticed they redirect you here now from the Azure Load Testing GitHub repository).
      Hope this helps!
      developercommunity.visualstudio.com/loadtesting/report

  • @RobertWilson-jh4nj
    @RobertWilson-jh4nj Год назад

    Hi. Apologies if this is a simple question, but I'm confused over the multiple Homepage lines on the graphs. There's a line for Homepage, a line for Homepage -0 and a line for Homepage -1. Can you explain what the difference is? I don't think you mentioned it in your video, but possibly I missed it

    • @MattAllford
      @MattAllford  Год назад

      Hi there. From memory that might refer to the name of the client side metrics resource (the workers / engine), or maybe the name of the test that is being defined in the jmeter file.
      Edit: If you freeze the video @34:41, you'll see in the filters at the top that you can filter by "Requests" (currently set to "All"), and I believe "Homepage" is the name of the request being defined in the test, and is being incremented by the number of threads.
      Edit2: Ignore the above :D Did some digging and correct info is below in another comment.

    • @RobertWilson-jh4nj
      @RobertWilson-jh4nj Год назад

      @@MattAllford Thanks for your reply!
      I can filter the request like you said, that’s not a problem. It just throws me slightly when I can run a simple test through jmeter alone to measure response time to a URL and create a listener for a Response time graph with only one line for speed over time, but then when I upload the exact same jmeter test in Azure Load Testing and end up with 3 different lines on the graph as stated…
      Filtering is fine, but without knowing which line to trust it’s hard to know what to filter.

    • @MattAllford
      @MattAllford  Год назад

      Hey @user-ht4tq2hx2c!
      Totally get what you are saying.
      So I did some testing, and I think that you get a number of different requests to filter on, based on the endpoint you are testing. For example, in my scenario where I was testing my own blog, the JMETER configuration was actually just going to the root of the website, using http (not https). But my website has a 301 redirect from http to HTTPS, and the JMETER configuration was told to follow redirects, so this ended up in "multiple requests", even though I was only testing one endpoint in the configuration.
      I found that if I changed the "HTTPSampler.protocol" configuration and specified HTTPS, the metrics in Azure Load Testing changed from showing 3 requests, to 1. You will get some insight in to what is happening with your requests if you download the results in CSV format from a test, but I suspect something similar is happening for you?
      Hope that helps.

    • @RobertWilson-jh4nj
      @RobertWilson-jh4nj Год назад

      @@MattAllford hi Matt, sorry for the late late reply
      I did what you said, specified https and it worked and gave one clear line instead of several. It makes a bit more sense now why there were multiple before. It’s still interesting to see the difference between Azure load testing and Jmeter alone when using the same plan. But I’m happy now anyways. So thanks for your help, your assistance was much appreciated 🙂

    • @MattAllford
      @MattAllford  Год назад

      Thanks mate! I appreciate the comment and question, it made me go back and do a bit of digging! It’s now something I’ll make sure to point out in future presentations on Azure Load Testing as well

  • @user-ht4mn2ud1o
    @user-ht4mn2ud1o 9 месяцев назад

    Hi quick query:
    When the test engines are running will they bring down the performance of the actual app service where my app is hosted ? ( trying to understand if these load tests would hamper user experience using the website at the same time )

    • @MattAllford
      @MattAllford  9 месяцев назад

      Howdy.
      Yes, this is a live load test against the target endpoint you provide when performing the test, so it will generate real load and therefore impact the performance. It's not a simulation, it is real load hitting the target.
      So you're right in thinking through whether you'd want to do this against, say, a production endpoint, or maybe have another environment that is used for load testing, with the same architecture as your production site, but doesn't have active users that will be impacted by the test.

    • @user-ht4mn2ud1o
      @user-ht4mn2ud1o 9 месяцев назад

      The catch I see with creating a separate environment is paying for the 1 instance even when load testing is not being performed. In my research, the one way I've noticed this can be tackled with is by using Azure Container apps that have the ability to go down to 0 instance ( no charge ) when not in use, and an autoscaling can be put in place for it to scale to 1 instance or more once the requests start coming in ( the only issue I see here is the initial requests the load test would send would fail with a 503 as there wouldn't be an instance available to service them ? ). Not an ideal solution, however let me know if a different method comes to your mind. Thanks a bunch for the response, great video ! :)@@MattAllford

    • @MattAllford
      @MattAllford  9 месяцев назад +1

      @@user-ht4mn2ud1o​​⁠I’m glad you enjoyed the video!
      This is really one of those “it depends” kind of things, but I really do mean that.
      If the infrastructure isn’t too large and complex, maybe you can deploy it via pipelines using Infrastructure as Code, deploy the application, load test against that environment, and then delete the environment. This could all be done using pipelines such as Azure DevOps or GitHub Actions.
      A lot of customers I work with will typically have multiple environments, so they will usually have a test/dev/staging/uat/whatever environment, separate to production, and one of those environments can (usually) be leveraged to run load tests against.
      Or as you said, if the endpoint is running in infrastructure like serverless functions or container apps that could be scaled to 0, maybe you can have a pipeline that scales it up, potentially even pauses if the app needs a little bit of time to get “warm”, and then your load test could be invoked in that same pipeline.

  • @nikhil.kamboj
    @nikhil.kamboj Месяц назад

    very informative videos!
    can we generate .jtl file if we are running test in azure?

    • @MattAllford
      @MattAllford  Месяц назад +1

      Thanks for the feedback!
      Good question - I’m honestly not sure. I don’t think that functionality was there when this video was released, but it may be today.
      Alternatively leveraging LLMs to create the files is a great use of that technology.

    • @nikhil.kamboj
      @nikhil.kamboj Месяц назад

      @@MattAllford thanks will try

  • @AbbeyLingord
    @AbbeyLingord Год назад

    Can I tests services running on azure Kubernetes without exposing them to the outside?

    • @MattAllford
      @MattAllford  Год назад

      Yep, you should be able to do that by deploying Azure Load Testing in to your VNET - learn.microsoft.com/en-us/azure/load-testing/how-to-test-private-endpoint

  • @ankitavaradkar6993
    @ankitavaradkar6993 3 месяца назад +1

    Whenever I am running the test in Azure Load test, getting error of Resource Not Found

    • @MattAllford
      @MattAllford  2 месяца назад

      Hi there. Apologies, I missed this comment. I’m not sure what is going on, sorry. Are you able to engage Azure support to help troubleshoot?

  • @vikashplayer
    @vikashplayer Год назад

    How to perform load testing of an azure web app with Azure AD authentication?

    • @MattAllford
      @MattAllford  Год назад

      Hi @vikashplayer, looks like this might be what you're after? techcommunity.microsoft.com/t5/apps-on-azure-blog/authentication-with-azure-load-testing-series-azure-active/ba-p/3718002

  • @user-wo5vr6jj3m
    @user-wo5vr6jj3m Год назад

    Hi Matt, Thanks for this video. But I'm facing several issues while uploading jmeter script and running scripts with CSV data config.
    Could you pls help? Below are the two issues i'm facing.
    Test run failed due to error in test run configuration:
    I have a JMeter script with csv data config and added necessary plugins , but still im getting the same Failure error. The test seems to be executing for long time and later it shows as failed. “Test run failed due to error in test run configuration. Please try again. If the issue persists, please raise a support ticket along with the test run id.”
    Whereas if i run a sample script without any CSV data files, it is running and the test is passed. Why these differences?
    do we have configure anything else while running with CSV data file? I’m trying to create a framework for my organization using Azure Load testing service, is it reliable to create one? Please help
    I have double checked by disabling csv data config and hardcoded the param values. still it says executing. The difference between the script that is working vs script that is not working is, one uploads the file and other one is basic login script.
    Where is the issue here?
    Let me add another issue in a separate comment. Please do help me to debug this issue.

    • @MattAllford
      @MattAllford  Год назад

      Hi there, and thanks for watching!
      Unfortunately I don’t have the capacity to help with issues like this. If there are quick things I know the answer to, I’m usually ok to try and help, but this one seems rather specific and I just don’t have the bandwidth sorry.
      What I would suggest is:
      Checking the docs on reading CSV data, make sure to follow the note about CSV headers - learn.microsoft.com/en-us/azure/load-testing/how-to-read-csv-data?pivots=experience-azp
      Take a look at the troubleshooting docs to see if there are any other logs that can help you pin point the issue - learn.microsoft.com/en-us/azure/load-testing/how-to-troubleshoot-failing-test?tabs=portal
      Try logging your issue on the Azure load test GitHub page - github.com/microsoft/azure-load-testing/issues
      Hopefully that helps!

    • @user-wo5vr6jj3m
      @user-wo5vr6jj3m Год назад

      @@MattAllford one kind request/help, do we need to add anything additionally in azure load testing service for JMeter script that uploads a document to website?

  • @luiswonder2101
    @luiswonder2101 4 месяца назад

    Azure downloads are very slow, i am trying to download a 5.5GB archive and i am getting 150 kbs download per second.... :/, I DONT RECOMMEND AZURE.

  • @rocketleague685
    @rocketleague685 11 месяцев назад

    Great video, I wished you had shared the jmx files too which you used in demo to try out the operations easily :)
    @MattAllford

    • @MattAllford
      @MattAllford  11 месяцев назад +1

      Hey there, thanks for watching!
      The jmx were shared, there is a link in the description :) Here it is again though - gist.github.com/mattallford/afd3da52a5adb2ad93c8462f477e39ca
      Hope that helps!

    • @rocketleague685
      @rocketleague685 11 месяцев назад +1

      @@MattAllford oh thank you, i wasn't expecting a response, forget about such a fast response. I was struggling with key vault - get secret call. But I was trying that for a secret parameter unlike getting the header for function app. It does not recognise the key... However, if i use simple get environment call it does pull out the key vault secret and pass it as parameter to https request. Your http header with key vault call will be very helpful now with available jmx. Thanks 🙏

    • @MattAllford
      @MattAllford  11 месяцев назад +1

      No worries at all! I'll always endeavor to reply to people where I can, that's what this is all about!
      Let me know how you get on - hopefully having access to the jmx files helps you figure out the key vault retrieval.