.NET 4 Linq Expression Lock Convoy

A few months ago, I was involved in a performance case involving an old CMS6R2 site. They explained that the site seemed to go down for a couple of minutes, to then automatically recover. During the downtime, any browser connecting to the site would be spinning at “Waiting for reply…” and this could potentially go on for much longer than just minutes. Their webops team have been standing by to restart the site night and day, and this was now tearing on them as well as the business. Continue reading “.NET 4 Linq Expression Lock Convoy”

Temperature logger with NodeMCU

arnetemp-6hLast Sunday, Dad called. He wanted to discuss different meters to help him measure the temperature of the heat exchanger’s inlet and outlet, because the efficiency of the heat pump seems to have worsened the last few years. He explained that over time, dirt build up inside the heat exchanger and isolates the circuits from each other. If you would measure the temperature differences between the warm (outside) circuit’s inlet and the cold (inside) circuit’s outlet, a more efficient transfer warms the cold circuit up more, minimizing the difference.

This write-up explains how I built it, and represents my first experience with NodeMCU. Continue reading “Temperature logger with NodeMCU”

The Large Object Heap and why you should know about it

To write an application, you don’t have to know very much about how .NET manages memory. To write an application that performs, it will be crucial.

In this post I will focus on the memory management / Garbage Collection aspects of a .NET application.  Too many times when I have been thrown into a performance troubleshooting case, I have seen code written with no clue of what I’m about to cover in this post. At some point, enough is enough! It’s time to spread the word. 🙂

Continue reading “The Large Object Heap and why you should know about it”

Castle.Core lock contention issue

A while back, a customer reported that their site’s performance was very “stop and go”. Suddenly, it would just stop delivering web pages. Neither the database, web servers nor any other infrastructure components seemed to be experiencing any excessive stress. If anything, the database was more idle than normal. Continue reading “Castle.Core lock contention issue”