Microsoft has a formula for calculating farm size (as a starting point) but it lacks some aspects of reality. To help SharePoint Architects with calculating REAL numbers I’ve modified the formula slightly.

The formula modifications include:

  • Custom code packages are deployed and you don’t have a Quality Assurance department that performance and resilience test (CC) – Yes = 1.25 and No = 0
  • All stakeholders participate in the Governance program (NG) – Yes = 0 and No = 1.5
  • Your organization is full of incompetence (ID10T) – Yes = 1.5 and No = 0

Generally, you will often need to calculate workload to estimate the number of servers that you require for adequate throughput. You can calculate workload by using a worksheet to identify the number of concurrent users and the average number of requests each day. The following table outlines an example worksheet.

Characteristics Value
Total number of users (Tu)
Concurrency rate (Cr)
Peak usage ratio (Pu)
Hours in the business day (H)
Custom Code (CC)
No Governance (NG)
Incompetence (ID10T)

You can then apply the following formula to estimate the number of Requests Per Second (RPS):

Requests Per Second = (Tu × Cr × Pu × Rd × CC × NG × ID10T) ÷ (H × 3600)

The key message? Do your planning (and not in a bubble) and be prepared to scale for capacity and factor in risk.

I hope you enjoy using this formula, please suggest improvement such as your own special metrics :)