In my first blog I wrote about SharePoint System Performance Health Checks beyond looking at CPU and Memory Metrics. In this blog, I cover deployment related performance health problems that I always check when looking at a SharePoint Installation. Especially after deploying new hardware, new sites, pages, views, custom or 3rd party Web Parts (e.g: from AvePoint, K2, Nintex, Metalogix …) it’s important to perform certain deployment sanity checks. While you may have nobody reporting issues in the moment there are several areas that you constantly need to check before they become a real problem.
Step #1: Optimize Connectivity Between Services
My first step is to analyze which components are involved when I navigate through SharePoint. Looking at the Transaction Flow (from Browser to Database) allows me to answer some key questions:
- How much load is coming in and is that distributed correctly across my IIS Instances?
- How many requests are actually making it to the SharePoint AppPools?
- Which external services are we calling and how does that impact our response time?
- Which databases are accessed and does that impact performance?
Step #2: Resolve any HTTP 4xx & 5xx
Step #3: Eliminate Bad Web Parts
3rd Party (e.g: from AvePoint, K2, Nintex, Metalogix …) or custom developed Web Parts are heavily used in SharePoint installations. But what if they don’t work because you miss a configuration setting or the deployment went wrong? I always do a sanity check by looking at:
- Exceptions happening during loading of a Web Part assembly. This tells me I made a deployment mistake.
- Exceptions happening during execution of a Web Part when a page gets rendered, as it typically indicates a configuration issue of the person that put that Web Part on that page
- Web Parts that that have very long execution times consume a lot of CPU or Memory
Step #4: Detect Authentication and Permission Issues
Incorrect permission settings or wrong role assignments lead to users not being able to access what they need to access. Analyzing HTTP Authentication and Permission problems allows you to better understand which users are having problems accessing which pages and pro-actively fix these problems or – in case they are not allowed to access that content – make it clearer on SharePoint that this is restricted for a good reason:
Step #5: Detect Missing Lists, Columns and Bad Filters
Over time it can happen that people build their own Views and Filters to make their life easier. Some may use a custom Web Part to visualize a list in a certain way. But sometimes the underlying lists get migrated, moved or simply deleted because they are no longer relevant. That leads to errors as these pages can no longer render that content – whether it is a whole missing list or a missing column. Watch out for these SharePoint exceptions that indicate access issues to lists and columns that no longer exist:
Next Step: Boost Performance to improve Adoption
I am interested to hear if you have your own deployment check steps. Please let me know and let’s share it with the SharePoint community.
As a next big step towards increasing the adoption of SharePoint in your organization you should focus on improving overall performance. In my next blog post in this series I will write about how to identify those pages that have the biggest negative impact on your users and how to go about identifying why these pages are slow and how to make them faster.
If you want to see some of my steps in action watch my 15 Minute SharePoint Performance Sanity Check Video.