As a SharePoint consultant, I have seen quite a few end-user complaints that SharePoint is slow in different organizations. The only thing which these slow environments reveal is poor planning and design flaws of overall SharePoint architecture.
In that context, getting proper requirement analysis from stakeholders, and managing the scope of that project are extremely crucial in order to have a successful SharePoint implementation and make end-users happy. In my 5 years experience on SharePoint administration and architecture designing, I have learned that planning of SharePoint is the key to complete user requirements.
This blog post is focused on better administration along with watching out for the primary bottlenecks and tools.
Let’s get started:
1. Planning for SharePoint Infrastructure - Hardware Specifications: Check out SharePoint 2016 hardware/software requirements.
Proper planning for hardware and supported infrastructure needs to be carefully done. SharePoint 2013 Server is RAM hungry. Therefore, many of the SharePoint performance issues are attributed to the lack of resources.
- Capacity Planning:
Is SharePoint Infrastructure designed according to Microsoft Hardware and Software minimum requirements?
This is one of the most important aspects where a SharePoint architect needs to talk to the infrastructure team.
Key design for SharePoint architecture includes:
i) Latency: Time between when a user clicks on browser and reposted back. This is something that the end-user complains about SharePoint being slow.
Tools:
>> IE Developer tools to check the response. (It’s extremely useful)
>> Fiddler
ii) Throughput: Number of requests that a server farm can process in a unit of time. Some common examples of low throughput conditions is when processors on the farm are not over-utilized. For e.g. if CPU usage during peak hours or load spikes consistently exceeds 80 percent, add more servers or redistribute services to the other farm servers, make sure there is sufficient memory on application and web servers to contain the complete cache, ensure that database servers are free of bottlenecks.
Tools:
>> Enable SharePoint Developer Dashboard.
>> SQL Server Logging Database
Below capacity planning is specifically for SharePoint 2013.
- Choosing Processors:
SharePoint Server 2013 is available only for 64-bit processors. Therefore more processors will enable us to serve greater demand.- WFEs: In individual web servers will scale up as we add more cores.
- Application server: Application server processor capacity requirements differ depending on the role of the server and services it is running.
- Choosing Memory:
- Web Servers: Microsoft recommends you allocate at least 8 GB RAM on each web server and 16 GB for servers that have greater traffic or deployments with multiple application pools set up for isolation
- Application server: Application server processor capacity requirements differ depending on the role of the server and services it is running. Ideal application server should have minimum 4 cores (quad-cores) and recommended 8 cores (octa-cores)
- The memory requirement of database servers are tightly dependent on the database size.
- Choosing Network:
There is significant traffic in a farm across the web server tier, the application server tier and the database tier. The network can easily become a bottleneck under certain conditions like dealing with very large files or very high loads.
Web Servers and application servers should be configured to use at least two network interface cards (NICs): one NIC to handle end-user traffic and other for to handle inter-server communication.
- Choosing Disk and Storage:
We need to ensure at least 30 percent additional capacity on each disk, above our highest data estimate, to leave room for future growth.
The web and application servers have storage requirements also. In most of the production environments, Microsoft recommends that we allocate at least 200 GB disk space for OS and temp and 150GB for disk space for logs.
2. Optimize SQL Server for SharePoint:
The database is a common area where performance hits are most prevalent. SharePoint is database intensive, about 95 percent of SharePoint is stored in a SQL database: files, images, videos, pages, content, user profiles, etc. It’s important to have a happy and health SQL database running
- Tasks Manager on SQL Server: Check the services which are consuming too much RAM and CPU. We also need to configure I/O counters as well.
- Configure Model System Database Settings
- Increase auto growth settings (Use MB and not %)
- Recovery model should Full.
- Configure TempDB System Database settings
- Increase auto growth settings (Use MB not %)
- Recovery model should be Simple
- Max Degree of Parallelism
Set max degree of parallelism to 1 for instances of SQL Server that host SharePoint Databases, and it is to ensure that a single SQL Server process serves each request.
- Minimum Server Memory
Default is 2 Billon; way too much for SQL Server. Other applications may be slow because SQL Server is consuming maximum RAM available.

The following table gives RAM usage for SQL Server 2014.
| Server memory(GB) | SQL Server Max Memory |
| 8 | 5012 |
| 12 | 8294 |
| 16 | 11571 |
| 24 | 19968 |
| 32 | 27136 |
| 64 | 55808 |

Vinodh NarayananPosted Sep 22, 2016, 10:12 AM
Good one
Tarun DPosted Sep 22, 2016, 7:48 AM
Very useful information. Thanks for sharing..
Vignesh GanesanPosted Sep 22, 2016, 5:50 AM
Good one Aroh Shukla
Prasham SabadraPosted Sep 22, 2016, 5:18 AM
Hi, nice article, mention specifics points. Thanks for Sharing. One more point I'll like to include here, is following best practices for code, best practices for queries like include only fields which are required, specifying row limit, paging etc.