Carl Rippon

Building SPAs

Carl Rippon
BlogBooksAbout
This site uses cookies. Click here to find out more

ASP.NET Core 2 High Performance - Book Review

March 15, 2018
dotnet

I purchased ASP.NET Core 2 High Performance a while ago - here’s a short review …

ASP.NET Core 2 High Performance

Contents

Chapter 1 - What’s New in ASP.NET Core 2

The book starts off by going through the recent performance features added into the .NET Core 2.0 data structure classes such as List before moving on to the recent enhancements in ASP.NET Core. The chapter also covers other nice features added to C#6 and C#7 such as string interpolation and literals.

Chapter 2 - Why Performance Is a Feature

This chapter starts by convincing us of the importance of performance. It then moves on to the different types of performance problems from latency to responsiveness. It then goes on to how hardware impacts this and how it can be used to scale a system.

Chapter 3 - Setting Up Your Environment

This chapter goes through setting up our development environment on windows, macOS as well as Linux. The chapter also goes though deployment using Docker.

Chapter 4 - Measuring Performance Bottlenecks

This chapter covers a wide range of great tools that help us profile SQL, our ASP.NET Core code, HTTP traffic as well as general network traffic.

Chapter 5 - Fixing Common Performance Problems

A wide range of common problems are covered in this chapter such as the “Select N+1” issue in SQL and oversized images. As you would hope, each problem comes with a detailed solution.

Chapter 6 - Addressing Network Performance

This chapter focuses on network, covering topics such as HTTP/2 through to CDNs.

Chapter 7 - Optimizing I/O Performance

The chapter starts by covering the various categories of I/O and then moves on to various I/O optimisation techniques. Batching API requests as well as database query optimisation are covered in detail in this chapter.

Chapter 8 - Understanding Code Execution and Asynchronous Operations

This chapter focuses on the execution of our code. It starts by going through the many different data structure classes and their performance characteristics. The chapter then moves on to parallel code with the TPL and finishes with some coding practices to be wary of.

Chapter 9 - Learning Caching and Message Queuing

The chapter starts off by going through the many different types of caching from a redis server side cache to leveraging service workers to implement a client side cache. The chapter moves on to message queues and how these can help a system scale.

Chapter 10 - The Downside of Performance-Enhancing Tools

This chapter covers various topics such as using frameworks and good architectural patterns to manage complexity. The chapter also covers how to get our team and company to invest time on making our apps more performant.

Chapter 11 - Monitoring Performance Regressions

The chapter covers profiling tools and how they help us to monitor our apps. The chapter then moves on to useful testing we can do such as load testing and A/B testing.

Chapter 12 - The Way Ahead

The final chapter summaries the previous chapters as well as other topics like machine learning and big data and their role with regards to system performance.

Conclusion

The book takes a very broad look at performance - it isn’t solely focused on ASP.NET Core. Personally I like this because it’s important to have a holistic view when developing apps and diagnosing issues. As developers we often forget that hardware and networking play a part in performance as well as the software we write.

At just over 300 pages, the book is readable within a weekend.

So, if you’re a .NET developer, getting into ASP.NET Core and care about performance, this book is good resource.


Interested in learning more about ASP.NET Core and React? My book is available now!
ASP.NET Core 3 and React