Benchmarking .Net Applications
Published 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.27 GB | Duration: 3h 15m
Published 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.27 GB | Duration: 3h 15m
Learn how to benchmark Dotnet applications using BenchmarkDotNet, Postman, Bombardier, Vegeta, and JMeter!
What you'll learn
The fundamentals of Benchmarking
Why performance matters and why benchmarking is necessary
When and what you should benchmark
What is the intermediate language
How Garbage Collector works
How you should benchmark applications
What are a cold start and warm-up process
Which tools can help you benchmark applications
Differences between Microbenchmarking and Macrobenchmarking
Benchmarking REST APIs
Requirements
A computer on which you can install any software: Windows, macOS, Linux, Git, Visual Code, or Visual Studio.
You should understand how to code in the C# programming language.
Familiar with running command-line commands in Terminal, Command Prompt, or similar.
Description
Have you tried to learn Benchmarking before?Perhaps you find yourself trying to follow a tutorial and get stuck.In other cases, the different authors may present to you the benchmarking process with subtle command and code variations, but you have no clue what they are for.You may stumble on articles that are difficult to follow. They do not provide you structured information of what is going on under the hood or a deep understanding of the .NET framework.Now imagine the oddest edge case: you already finished building your benchmarking, you can run it fine but then when it comes to run it another time, the results differ altogether from the ones you got earlier. You have no idea of the factors that make your benchmark process generate so many values out of your expectations.You might be working on a critical section of code in your .NET application or microservice, and you need to measure different code approaches to figure which ones make your code run as fast as possible.Does that sound familiar to you?Well, you are on the right track!I built this course to show you how you can build and run benchmarks with a better understanding of the fundamentals.You will have hands-on labs here where you can download the projects to get started testing yourself the benchmarking process using your favorite code editor.I've mapped out everything you need to know about Benchmarking .NET applications in an interactive easy-to-follow package. This course is designed to get you up and running, in a couple of days.Here you will understand the fundamentals, perform the experiments to make correct conclusions based on the raw data provided in benchmarking results.If you want to be aware of benchmarking good practices, this training is a great way to get started.Several big companies, including Microsoft, Elasticsearch, Google, are constantly using benchmarking to guarantee applications have no performance degradation and measurements are reproducible.This constant concern on performance quality makes applications more reliable through the eyes of the customer, making company solutions look more professional.
Overview
Section 1: Welcome
Lecture 1 Welcome and Course overview
Lecture 2 How this course is organized
Section 2: Introduction
Lecture 3 Why should you learn to benchmark .NET applications
Lecture 4 What are the pre-requisites for this course
Lecture 5 Getting help
Lecture 6 Setting up your environment - installing .NET
Lecture 7 Setting up your environment - installing Visual Code
Lecture 8 Setting up your environment - installing Git
Lecture 9 Setting up your environment - installing Docker
Lecture 10 Setting up your environment - installing Java
Lecture 11 Setting up your environment - installing Postman
Lecture 12 Setting up your environment - other tools
Section 3: The Benchmarking fundamentals
Lecture 13 What is performance?
Lecture 14 Why performance matters?
Lecture 15 What metrics can be used to track performance?
Lecture 16 What is a benchmark?
Lecture 17 Why benchmarking is necessary?
Lecture 18 When should you benchmark?
Lecture 19 How is the benchmark process?
Lecture 20 What should you benchmark?
Lecture 21 How should you benchmark?
Lecture 22 Choosing the benchmark scope
Section 4: The Benchmarking in practice
Lecture 23 Which tools help you benchmark your application
Lecture 24 Elapsed time benchmarks with Stopwatch
Lecture 25 What is BenchmarkDotNet?
Lecture 26 Who uses BenchmarkDotNet?
Lecture 27 Elapsed time and memory allocation benchmarks with BenchmarkDotNet
Lecture 28 Sort and rank BenchmarkDotNet summary results
Lecture 29 Evaluating BenchmarkDotNet results
Lecture 30 Understanding BenchmarkDotNet header information and summary columns
Lecture 31 Targeting different runtimes for BenchmarkDotNet
Lecture 32 Changing the number of warm-ups and iterations in BenchmarkDotNet
Lecture 33 Cold start and monitoring strategies in BenchmarkDotNet
Lecture 34 Benchmarking REST APIs with Postman
Lecture 35 Benchmarking REST APIs with Vegeta
Lecture 36 Benchmarking REST APIs with Bombardier
Lecture 37 Benchmarking REST APIs with JMeter
Section 5: Remarks and Next steps
Lecture 38 Profiling tools
Lecture 39 Readability versus Optimization
Lecture 40 Benchmarking as part of continuous integration
Lecture 41 Production metrics observability
Lecture 42 Monitoring tools
Lecture 43 Tracing tools
Lecture 44 Conclusion and Next steps
Beginner, intermediate, and advanced C# programmers who want to learn how to create and execute benchmarks.,Software Developers who are about to take a job interview and need to prepare for benchmarking-related questions.,Professionals who need to measure up different code approaches in a .NET application to evaluate performance-related choices.