When the flow of user complaints about the performance of SharePoint solutions intensifies from day to day, SharePoint owners often condemn the platform and start thinking of changing it. However, usually, SharePoint performance issues don’t originate from the platform itself. The SharePoint troubles frequently come from the overall network problems, incorrect configurations of SharePoint farms or flawed custom solutions.
Thus, if a company sticks to the ongoing SharePoint monitoring and goes through timely SharePoint testing, they can easily detect and resolve the SharePoint performance issues and optimize their solutions before they disappoint users.
Mistake #1. Overlooking SharePoint page performance issues
When it comes to the SharePoint performance issues, you have to remember that they can be divided into two major categories:
- Problems inherent in some specific SharePoint pages only
- Problems affecting all pages and slowing down the entire SharePoint deployment
To test your SharePoint site according to the first scenario and to identify pages that cause troubles, you can use both the Developer Toolbar and the Developer Dashboard.
Developer Toolbar in Browser
Using the Developer Toolbar in your browser is the easiest way to measure the SharePoint page performance. For example, if you use Internet Explorer, do the following steps:
- Choose a SharePoint page and click F12.
- Click the Network tab.
- This tab will show the actual load time of each element of your SharePoint page.
- To clean your cache and measure the full page reload, push Ctrl + F5.
Developer Dashboard
Another option is to enable the Developer Dashboard. It’s a dedicated tool that shows the SharePoint page performance and provides a detailed information about each request made to load a particular page. If some of your SharePoint pages load slower than others, analyzing the information on the Developer Dashboard can help you find out the reason.
First, you should activate the Dashboard through the relevant PowerShell command,
To use the Dashboard, find its icon in the menu and click it.
Common issues that affect the entire SharePoint deployment
If the entire deployment performs poorly, you have to go through a detailed SharePoint performance analysis to find the core reasons. In general, there are several widespread issues, you can encounter in server or cloud SharePoint environments. Identifying these issues can help you avoid negative user experience and potential platform rejection. Now, let’s take a look at some of those issues and possible ways to address them.
SharePoint On-Premises (2016 / 2013)
Mistake #2. Violating the recommended hardware parameters while building a SharePoint farm
If all SharePoint sites within the farm load slowly, this can be the sign of a poor SharePoint environment design. First, you should check if your servers correspond to the minimum hardware requirements (CPU/RAM/Disk/Network).
Microsoft enumerates all the hardware requirements to install and run SharePoint 2013 and 2016, so take your time to check these lists in order to understand if your SharePoint infrastructure follows the recommendations.
If you plan to use the SharePoint Search Service Application intensively, check up the Search hardware requirements for SharePoint 2013 and 2016 as well.
In general, if your farm doesn’t meet the minimum hardware requirements, the SharePoint productivity will always be below users’ expectations, so enhancing your hardware is a must. Moreover, as those are only the minimum requirements for a typical SharePoint installation, your organization might need even more resources to ensure the correct operation of a large and heavily customized deployment.
Mistake #3. Enabling antivirus to scan all SharePoint folders
Yes, even such a basic thing as the antivirus configuration can affect your SharePoint environment. The point is that several SharePoint folders have to be excluded from the antivirus scanning process in order to prevent the app’s abnormal behavior.
You can exclude the SharePoint folders either by following the Microsoft recommendations or run a PowerShell script that generates an overview of all SharePoint files to be excluded from scanning.
Mistake #4. Overlooking verbose logging
When the SharePoint log files take too much space, this can affect the SharePoint server performance.
To verify your current log settings, you can access Central Administration > Monitoring > Configure Diagnostic Logging. If any of the displayed categories is highlighted with the bold font and the Event Level is set as Verbose, you have to reset it to its default value.
To do that, you can select the bold categories and edit them by choosing Event Level > Information and Trace Level > Medium.
Alternatively, you can run the PowerShell command Clear-SPLogLevel on any of your SharePoint Servers.
Additionally, you have to make sure that the Event Log Flood Protection is enabled, otherwise, the log flooding will happen again.
Mistake #5. Ignoring large SharePoint lists and libraries
Depending on the configuration of your list views, you can get the following error message while trying to access your list content,
This error occurs because Microsoft limits the number of items that can be retrieved in one query to 5,000 in order to guarantee the stable SharePoint performance. SharePoint administrators can increase this limit, but it isn’t recommended to do so.
To see the number of items in your lists and libraries, check up Site Contents.
You can still have lists and folders containing a much bigger number of items, however, you need to find a way to stay in line with the List View Threshold. To do so, you can either add indexes and filters to SharePoint lists to reduce the number of retrieved items or sort out large libraries into smaller folders with the recommended number of items.
Mistake #6. Running numerous Web Applications
Microsoft recommends limiting the number of web applications, as they are a frequent reason for the SharePoint overheads and require more hardware to run smoothly.
It’s preferable to create host-named site collections instead of a web application unless you have to meet one of the specific scenarios:
- Implementing a particular authentication method (for example, form-based authentication)
- Creating a dedicated web application for My Sites
- Hosting highly confidential information that should be separated from other generally available content
SharePoint Online
Mistake #7. Uploading large images without optimizing them
If users work with visual content actively, it’s worth thinking about dedicated policies on formats and sizes of files uploaded to SharePoint, as the platform’s performance can decrease substantially under the weight of heavy files. Thus, image resizing should be a must if you want to preserve your SharePoint sites’ sleek operation.
Let’s take an example of a 5.3MB high-resolution image that is too big to be hosted on a SharePoint site. Resizing it in an image editor allows reducing it to 498 kB. If after resizing your image is still quite heavy, you can continue with any of the available online image compressors. In the example, the compressed image lost 94% of its original size and now it can be uploaded to SharePoint.
Mistake #8. Using Structural navigation instead of Managed navigation
Provided with the security trimming and site structure enumeration, the Structural navigation is typical for the SharePoint On-Premises while being unsuitable for SharePoint Online. If you run a cloud SharePoint solution, give your preference to Managed (Metadata) or Search-driven navigation that doesn’t consume excessive resources and doesn’t hinder SharePoint performance.
- Using Structural Navigation
- Using Managed Metadata Navigation
Mistake #9. Avoiding JavaScript and CSS files minification
Minification is another method to reduce the SharePoint page load time and ensure the overall high SharePoint performance. Minification modifies JavaScript and CSS files removing white spaces, unneeded characters, and comments and shortening variable names.
You can see that the minified and un-minified versions of the jQuery library differ substantially in size.
Mistake #10. Forgetting about the Microsoft Content Delivery Network
By its nature, a content delivery network (CDN) ensures that users receive web content from the servers that are geographically closest to them.
If your organization runs several globally distributed offices, the SharePoint Online performance can vary greatly due to the physical distance between users and your SharePoint Online deployment. Fortunately, if you use the Microsoft CDN, this distance can be shortened as much as possible.
Another benefit is that, if you have already downloaded particular libraries needed for a SharePoint page, they will be cached so you won’t need to download them again.
The following screenshots illustrate this scenario. You can see the time difference between requesting a jQuery library that was uploaded to the master page gallery on a SharePoint Online site and the same library delivered through the Microsoft CDN (1,51s vs 469 ms and 57% of latency time improvement).
On a final note
As you can see, there are multiple ways to improve your existing SharePoint solutions’ performance whether they are server-based or cloud-hosted. Some of the most typical performance issues are quite easy to identify and eliminate, others require a deeper SharePoint performance monitoring and bigger effort into fixing them. If you don’t have an in-house SharePoint team, it would be reasonable to turn to SharePoint consultants who will carry out a detailed SharePoint health check and will help you identify the problem's characteristic to your specific deployment.