I want to know the best architecture for SharePoint.

We have our public facing website developed on SharePoint 2013

and we have following servers:

  • 1 Production
  • 2 Front end
  • 2 Database (Using clustering)

Each server has

  • 2 CPUs (3.3-ghz)
  • 32GB of RAM
  • 500GB Hard disk
  • Windows Server 2008R2

We get daily around 2lac visitors on our website, among them around 35% are new visitors. In our website we have 60 custom Web parts developed on .net

But we get some issues now, like slow performance of web site and site getting down,etc.

We want to move to high level SharePoint architecture. Can anyone please guide me what would be the best architecture for us so that we should not get any issues related to architecture.

  • Production server = application server? Production is an environment, not a type of server.
    – wjervis
    Feb 2, 2017 at 12:21
  • Sorry I did not know about it.
    – Asrar
    Feb 5, 2017 at 5:19

2 Answers 2


Ideally you should have a three-tiered farm with at least 2 web front-ends, 2 application servers and 2 database nodes on a cluster.

A hardware or software load balancer should be used to round-robin distribute web requests to the two front ends. You can add more than 2 depending on how much traffic you're getting.

All your service applications (Search, UPS etc) should be distributed across the two application servers, with one acting as a backup for the other (i.e. App Server A as primary Search index/crawler, with Server B as the backup, and the other way round for UPS). Again you can add more depending on how much processing is going on, which apps use the most resources etc.

Would also reccomend splitting your disks up - have one for system files, one for web part and other associated files, one for logs, one for Search index (on the app servers) and one for BLOB Cache (on the front-ends). This will cut down the amount of processing each disk has to do.

  • If you're getting slow web performance then extra RAM is obviously also an option, if setting up a load balancer across front-ends doesn't have much impact. You should really have 4 CPUs as well if you're using a ton of custom .NET code. Feb 2, 2017 at 11:24
  • Thank you so much for your response. Whatever you have said as of now we have almost similar architecture. Will have to add more CPUs I guess.
    – Asrar
    Feb 2, 2017 at 11:31
  • May I please know on which server we should increase RAM and CPUs? front end?
    – Asrar
    Feb 2, 2017 at 11:32
  • Yes I would say so - if your users are getting slow responses on the website then that is probably where your problem lies. I would run some performance monitoring on all servers for CPU/RAM/disk usage and try to work out where the bottleneck is, but I imagine if you have loads of custom code this is going to be your problem - it really depends what the code is doing I guess (i.e. if it is plugging in to a service app running on an app server) Feb 2, 2017 at 11:49

But we get some issues now, like slow performance of web site and site getting down,etc.

My experience shows that most of these problems do not occur from a lack of hardware-ressources. You might already have told us the real cause of your problems:

In our website we have 60 custom Web parts developed on .net

Each of those Webparts can slow down performance dramatically and cause your application pools to go down.

So if a new farm architecture does not solve your problems, you have to go the hard way: Solution-debugging.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.