ASP.NET Core Performance
Interested in making your ASP.NET Core site faster? This course will teach you key techniques to do just that - including caching, asynchronous techniques and gotchas, ways to keep responses small, diagnostic techniques to find problems, and more.
What you'll learn
Improving the performance of websites can be a very challenging endeavor. In this course, ASP.NET Core Performance, you’ll learn techniques to improve and analyze the performance of ASP.NET Core websites. First, you’ll explore caching in its many forms - including what browsers do by default and how you can control that better, as well as techniques that you can do on the server side with both in-memory and distributed caching, including methods to invalidate cached information. Next, you’ll discover techniques and gotchas with asynchronous programming in C# - including the async/await keywords and the Task class. Additionally, you’ll also learn how to use tools to diagnose, benchmark, and load test sites. Finally, you’ll learn how to minimize the size of responses when appropriate, like compressing certain responses and minifying and bundling UI assets. When you’re finished with this course, you’ll have the skills and knowledge of performance optimization needed to improve the performance of your own ASP.NET Core websites..
Table of contents
- Introduction and Course Overview 3m
- Version Check 1m
- ASP.NET Core Is Fast and Getting Faster 4m
- ASP.NET Core Principles 3m
- Demo: App Introduction 7m
- Demo: Use System.Text.Json 4m
- Demo: Using Source Generators with System.Text.Json 3m
- Introducing Native AOT 2m
- Demo: Using Native AOT with API Project 9m
- Demo: Simple Entity Framework Core Tips 5m
- Introduction and Scope 2m
- Key Concepts 1m
- Demo: In-memory Caching with Expiration 6m
- Demo: Distributed Caching with Expiration 4m
- Demo: Redis as a Distributed Cache 5m
- Demo: Problem with Expiration-Based Caching 5m
- Demo: Explicit Cache Invalidation 3m
- Choosing a Distributed Cache 2m
- Response Caching 2m
- Demo: Response Caching Middleware 5m
- More on Response Caching 1m
- Demo: Output Caching Middleware 6m
- Introduction 2m
- Demo: HttpContext in Pages and Controllers 3m
- Demo: HttpContext in Other Classes 3m
- HttpContext in Parallel Tasks 1m
- Demo: Reading Form Content 4m
- Demo: Using Named HttpClients 5m
- Demo: Token Management in Named HttpClients 3m
- Demo: Using Typed HttpClients 3m
- More Information and What's Next 1m
- Introduction and Definitions 2m
- Diagnostics Overview 1m
- Demo: Adding Request Logging and Seq 5m
- Demo: Creating Performance Log Entries 2m
- Diagnostic Options with Logging 2m
- But My App Is Already in Trouble! 1m
- Demo: Using dotnet-trace 6m
- Benchmarking Overview 1m
- Demo: Using BenchmarkDotNet 5m
- Load Testing Overview 2m
- Demo: API Load Testing with NBomber 7m
- Demo: Is Async Really Better than Sync for Concurrency? 2m
- Demo: Load Testing with JMeter 5m
- Things to Try, Summary, and What's Next 2m
- Introduction and Approach 2m
- Memory, Performance, and ASP.NET Core 2m
- Memory Management and Garbage Collection 3m
- Memory Management and Your App 2m
- Demo: Memory Analysis within Visual Studio 3m
- Demo: Understand Memory Usage with dotnet-counters 5m
- Demo: Analyze Memory Usage with dotnet-dump and dotnet-gcdump 4m
- More About Memory Management 1m
- Demo: The MemoryLeak Application 2m
- Closing Thoughts 2m