Estimate storage requirements

Because SharePoint is heavily dependent on SQL for its storage needs, the proper allocation of storage resources is a critical design element for the SharePoint farm. This design can be broken down into two major components, storage and I/O operations per second (IOPS).

Storage variables

Storage is simply the amount of available space configured for a particular database. If the database happens to be a content database, the overall size of the database can vary dramatically based on two features: recycle bins and auditing.

Recycle bins are enabled by default at both the site (web) and site collection (site) levels. A document that is deleted from a site occupies space in the associated content database until it is deleted from both the first and second stage recycle bins. If you foresee the need to delete many documents in the interest of reclaiming space, the documents must be deleted from both recycle bins.

Auditing can place a lesser storage demand on a content database. If you expect to use auditing in a particular content database, try to restrict the levels at which it is enabled rather than enabling auditing on entire site collections.

Recycle bins are some of the most straightforward and most misunderstood components in SharePoint. Knowing and understanding the behaviors of how a document moves from one stage recycle bin to another is key to understanding how documents that are “hidden” might be consuming space.

I/O operations per second (IOPS)

IOPS is the measure of how many input and output operations per second are available from your I/O subsystem (storage). The storage configuration influences both the read and write speeds available for use.

Stress testing a storage subsystem enables you to know the limits of your storage and also gives you an opportunity to tune it to your requirements. There are three main tools used for this purpose (see Table 1), each of which is free of charge:

TABLE 1 I/O subsystem testing tools

Tool

Provided By

Purpose

Download Location

SQLIO

Microsoft

Performance capacity (single I/O type at a time)

http://www.microsoft.com/en-us/download/details.

aspx?id=20163

IOMeter

Open Source

Performance capacity (combination of I/O types at one time)

http://sourceforge.net/projects/iometer/

SQLIOSim

Microsoft

Simulates SQL I/O patterns

http://support.microsoft.com/kb/231619

Estimating configuration storage and IOPS requirements

The SharePoint configuration database and Central Administration content database have meager storage requirements. Both databases use a negligible amount of space; you can safely plan for roughly 2 GB of configuration database storage and 1 GB of Central Administration content database storage. The configuration database will continue to grow over time, albeit in a very limited fashion (approximately 40 MB per 50,000 site collection.)

Estimating service application storage and IOPS requirements

Service applications vary wildly in the amount of storage and IOPS that they require. The largest consumer of service application resources is search, consuming the lion’s share of available storage and IOPS resources. At the other end of the scale are the State, Word Automation, and PerformancePoint Service applications, each of which requires minimal IOPS and approximately 1 GB of allocated storage.

Table 2 shows a listing of each service application database and the given requirements.

Your environment may host multiples of the databases that display an asterisk (*). TABLE 2 Service application storage and IOPS requirements

Service Application

Databases

Database Size (Approx.)

IOPS

Search

Search Admin

10 GB

Negligible

Search

Crawl (*)

.046 * total size of content databases

3,500 to 7,000 IOPS

Search

Property (*)

.015 * total size of content databases

2,000 IOPS

User Profile

Profile

1 MB per user profile

Not specified

User Profile

Synchronization

630 KB per user profile

Not specified

User Profile

Social Tagging

0.009 MB per tag, comment, or rating

Not specified

Managed Metadata

Managed Metadata

Not specified

Not specified

Web Analytics

Staging

Not specified

Not specified

Web Analytics

Reporting

Not specified

Not specified

Secure Store

Secure Store

5 MB per 1,000 creden-

tials

Minimal

State

State

1 GB

Minimal

Word Automation

Word Automation

1 GB

Minimal

PerformancePoint

PerformancePoint

1 GB

Minimal

Estimating content database storage and IOPS requirements

In any SharePoint farm, the largest allotment of storage space is for the content. Every list, library, photo, media item, and more are all stored in one or more content databases. Effectively sizing these databases can be difficult, but building rough estimates for provisioning storage and then adjusting these estimates as demand increases is not difficult.

There is a formula that can be used to predict the amount of space required for any given database. Following is a description of the variables and their respective descriptions:

D The expected number of documents in a content database

S The average size of the documents to be stored

L The number of list items (roughly three times the number of documents)

V The number of retained versions for a document; the default value is 1 for the document

M The estimated amount of metadata (a constant of 10 KB that can be adjusted if your environment is more metadata-intensive)

An estimate for the size of any given content database is the given by this formula:

Database Size = ((D * V) *S) + (M * (V * D)))

Using this formula to analyze the potential size of a content database with the following:

  • 50,000 documents (D) expected
  • 1,000 KB per document (S) average
  • 10,000 list items (L) expected
  • Five previous versions of a document (V) expected

This renders a maximum content database requirement of roughly the following:

((50000 * 5) * 1,000) + (10 * (5 * 50,000)) = 250 GB in size

This value should definitely be considered the “maximum” value because SharePoint 2013 stores the delta (changes) between versions of a document.