.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”

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”