Skip to content

Roundup #36: Server GC in a Small Containers, Simple-Exec, Why your ASP.NET Core Application Won’t Scale

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Here are the things that caught my eye this week in .NET.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

Running with Server GC in a Small Container Scenario Part 1 – Hard Limit for the GC Heap


I’ve checked in 2 configs related to specifying a hard limit for the GC heap memory usage so I wanted to describe them and how they are intended to be used. Feedback would be greatly appreciated.

In order to talk about the new configs it’s important to understand what consists of the memory usage in a process. When it comes to memory the terminology can be very confusing so it’s worth pointing out that by “memory” I meant private commit size. A process can have the following memory usage from the runtime’s POV:

-GC heap usage – this includes both the actual GC heap and the native memory used by the GC itself to do its bookkeeping;
-native memory used by other things in the runtime such as the jitted code heap;
-native memory used by something that’s not the runtime, eg, you are allocating native memory in your pinvoke calls;

We cannot control 3) and it could be significant. 2) is in general small compared to 1).

Link: https://blogs.msdn.microsoft.com/maoni/2019/02/04/running-with-server-gc-in-a-small-container-scenario-part-1-hard-limit-for-the-gc-heap/

simple-exec

SimpleExec is a .NET library that runs external commands. It wraps System.Diagnostics.Process to make things easier.

SimpleExec intentionally does not invoke the system shell.

The command is echoed to standard error (stderr) for visibility.

Platform support: .NET Standard 1.3 and upwards.

Link: https://github.com/adamralph/simple-exec

Why your ASP.NET Core application won’t scale – Damien Edwards, David Fowler

Hey my app doesn’t scale! ____ Framework sucks! Well, you can write a slow app in any language. David Fowler and Damian Edwards will show you why your app isn’t scaling and gives you the DOs and the DON’Ts of making big apps do big things in ASP.NET Core.

We’ll talk about async, parallelism, and appropriate use of multiple threads. Are you misusing some APIs and inadvertently crashing your apps?

David Fowler and Damian Edwards, will show you the errors of your ways and make sense out of these techniques and when they’re useful – or when they should be avoided.

This will be a demo-heavy and highly technical session.

https://www.youtube.com/watch?v=-cJjnVTJ5og

Link: https://www.youtube.com/watch?v=-cJjnVTJ5og

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Leave a Reply

Your email address will not be published. Required fields are marked *