When farm architecture has been outlined, it is
critical to properly size the hardware environment that makes up your
SharePoint farm. Each SharePoint server role has different hardware
requirements, however, so it is important to first understand what those
requirements are before beginning the procurement process.
Hardware Requirements for the SQL Database Role Servers
The heaviest hitter of all the
SharePoint roles is the SQL database server role. This server role
houses the SharePoint databases, where nearly all content in a
SharePoint environment is stored. The databases house document
libraries, documents, lists, sites, site collections, and their
contents. For obvious reasons, this server is highly critical for
SharePoint and requires a significant amount of hardware resources.
Following are several key hardware requirements for the SQL database
role:
Disk space—
Because SharePoint content is stored in the databases, the SQL database
role server requires a large amount of disk space. How much disk space
depends on how much content is stored in SharePoint, but assume the
worst—when document versioning is turned on, SharePoint can consume much
more space than people realize.
Processor—
The SQL database role works best when multiple processor cores are
allocated to the database role. SQL Server is built to be multithreaded
and can use whatever you give it. Today’s multicore processors are the
perfect fit for SharePoint.
Memory—
Server memory requirements are also high for the database role. The
same general rule of thumb applies...the more memory allocated, the
better a SQL server will perform. The total amount of memory recommended
will vary depending on how heavily utilized the server is, but it is
common to have SQL servers with 12GB, 16GB, 32GB, or more.
Hardware Requirements for Service Application Roles
The service application roles,
depending on how many run on an individual server, can have serious
hardware requirements. The search service application role, for example,
which is responsible for creating a full-text searchable index for
search, is the heaviest hitting of the SharePoint roles, excluding, of
course, the database role. Search service application servers typically
consume more memory and processor capacity because they are constantly
engaged in the process of crawling content and making it searchable.
Depending on the number of content sources crawled, there can be
significant memory requirements, and index servers have been known to
use at least 8GB, 12GB, or 16GB of memory and take advantage of multiple
processor cores as well.
Other
service application role servers may require an equal amount of memory
and processor cores allocated as well. It’s a general rule of thumb that
SharePoint 2010 memory and processor requirements are much higher than
for SharePoint 2007, and many people underestimate the required
resources.
In addition to its
processor and memory requirements, the search service application role
also requires enough drive space to physically store the index files,
which are essentially copies of all text that has been crawled across
all data sources. The size of this index can range from 5 percent to 30
percent of the total size of the searchable content being crawled. For
example, if SharePoint is configured to search a file share, and that
file share contains 100GB of office documents, the index size will total
between 5GB and 30GB, depending on how much actual text is stored in
the documents. Large, graphical documents with little text will not
bloat the index by much, but simple text files can consume a much larger
percentage.
Note
Remember to calculate your
index size based on the total size of all crawled content. Because
SharePoint is an enterprise search application, the total size of all
content may include not only documents in SharePoint, but also file
servers, Exchange public folders, and websites.
Hardware Requirements for Web Role Servers
The web role server is
the most utilitarian role, requiring a reasonable amount of memory and
processor power, but nothing excessive. Indeed, better performance can
often be gained by adding additional web role servers to a farm rather
than by increasing the size of memory and processor power added to a
system. Typically web role servers will have between 8GB and 12GB of RAM
in most cases, and at least two cores allocated to it.