Exception ‘Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus

As the title suggests this post is going to be about a specific issue I came across at a customer site recently in a new deployment of SharePoint 2013 that relates to the distributed cache service. Definitely one of the more challenging ones to troubleshoot from what I have seen before so I figured I should capture the result here in case it helps someone else. Continue reading “Exception ‘Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus

Calculating RPS statistics from IIS logs

Performance management is a key factor in a lot of modern web applications, and SharePoint is no exception to this. When you are planning a new SharePoint deployment having an understanding of how many requests are coming in per second so that you can plan an appropriate number of servers to handle the load. While this isn’t always possible (if you are planning a new deployment you won’t have any logs to base things off) but in the event of an upgrade you can gather logs from you’re existing environment. IIS collects logs for incoming requests so it gives us all the data we need to report on RPS – but how do we go from multiple log files to some form of meaningful data that we can use? Continue reading “Calculating RPS statistics from IIS logs”

Approaches to optimising SharePoint client side communication

The new SharePoint app model provides a great framework for creating rich SharePoint solutions that run remote to the SharePoint server itself, but this move has brought in to play a new element of performance concerns that the traditional SharePoint developer has not really needed to give a great deal of thought to. In the world of server side code we could just run next to the database server along with SharePoint and the only real consideration was around querying only what we needed so we didn’t have a big impact on the SQL server – but now when we are running in a remote model, we need to give consideration to the potential impacts on performance of our applications. Continue reading “Approaches to optimising SharePoint client side communication”

Directly querying SharePoint databases

One of the first rules of SharePoint that you learn when you start diving in to the product is that you shouldn’t ever touch the SharePoint databases – it’s fairly well known that you should leave them alone, but I’ve been asked the question a few times over the years “Well what if I’m just reading from the databases? Surely that’s ok because I’m not making any changes to the data”, so what I wanted to cover off in this post is why it’s not a great idea to read from the databases and what the impact of doing this is. Continue reading “Directly querying SharePoint databases”