Updated: 2008-03-14
The topology of your system’s database tier, and your network, physical storage, and caching can significantly affect system performance. When you plan your hardware, remember that Office SharePoint Server 2007 is the last version of Office SharePoint Server that will run on 32-bit operating systems and databases.
Important: |
|---|
|
If you are using the gradual upgrade method, to maintain reasonable response times from the server running SQL Server 2005, it might be necessary to increase the SQL Server 2005 resources supporting Office SharePoint Server 2007 by at least a factor of two.
|
The following sections give recommendations that are based on the best practices we have found for SQL Server 2005 databases hosting Office SharePoint Server 2007.
Start with a dedicated server running SQL Server 2005
The following recommendations apply to the database tier in your topology:
-
Always put SQL Server 2005 on a dedicated server that is not running any other farm roles, unless you are deploying your system on a stand-alone server.
-
We highly recommend that you install SQL Server 2005 64-bit version on a 64-bit operating system, unless you have a significant business reason not to.
-
For optimal performance, use Office SharePoint Server 2007 with SQL Server 2005 with the most recent service pack (Service Pack 2 as of the date of this document), unless you have a significant business reason to use an earlier version.
-
Ensure that the SQL Server 2005 input/output (I/O) channels to the disks are not shared by other applications, such as the swap file and Internet Information Services (IIS) logs.
Consider scaling out in addition to adding resources
It is important to track the following three resource components of a server running SQL Server 2005: CPU, memory, and I/O subsystem. When one or more of the components seem stretched, analyze the appropriate course of action based on the current and projected work load. Then, determine whether to add more resources or to scale out to a new server running SQL Server 2005. In general, we recommend that you consider scaling out in addition to adding more resources.
We recommend that you deploy an additional server running SQL Server 2005 when you have more than four Web servers running at full capacity.
Follow the SQL Server guidelines when choosing hardware
The following sections contain recommendations from the SQL Server 2005 team for hardware that can optimize performance of Office SharePoint Server 2007.
Memory
For the purposes of determining the amount of memory required for the computers running SQL Server 2005, first determine whether the planned deployment is small, medium, or large in terms of memory consumption.
Determine your deployment size by using the following table:
-
If your deployment parameters are generally less than the listed values, your deployment can be considered small.
-
If your deployment parameters are approximately equivalent to the listed values, your deployment can be considered medium.
-
If your deployment parameters are generally greater than the upper limits of most of the listed values, your deployment can be considered large.
|
Metric
|
Value
|
|---|
|
Content database size
|
50 GB
|
|
Number of content databases
|
20
|
|
Number of concurrent requests to SQL Server 2005
|
200
|
|
Users
|
1000
|
|
Number of items in regularly accessed list
|
2000
|
|
Number of columns in regularly accessed list
|
20
|
For SQL Server 2005, 4 gigabytes (GB) is the minimum required memory, 8 GB is recommended for medium size deployments, and 16 GB and greater above is recommended for large deployments.
Other factors that can influence your memory needs include:
CPU cache
On the server running SQL Server 2005, we recommend that the L2 cache per CPU have a minimum of 2 MB to improve memory.
Bus bandwidth
Greater bus bandwidth helps improve reliability and performance. Consider that the disk is not the only user of bus bandwidth — for example, you must also account for network access.
The following list provides some best practices and recommendations for optimizing bus bandwidth.
-
For medium to large-sized servers, greater bus bandwidth improves the system’s reliability, especially with added multi-pathing software. Conversely, greater bus bandwidth does not give a significant increase in reliability for smaller systems. The bus bandwidth’s reliability is improved through the redundant paths in the system and by avoiding single-point-of failure in hardware devices.
-
Greater bus bandwidth provides improved performance in systems that frequently use large block transfers and sequential I/O.
-
In smaller servers that use mostly sequential I/O, PCI becomes a bottleneck with three disks. For a small server that has eight disks performing mostly random I/O, PCI is sufficient. However, it is more common for PCI-X to be found on servers ranging from small to very large.
-
Greater bus bandwidth is necessary to support a large number of disks.
-
The capacity of bus bandwidth might be limited by the topology of the system. If the system uses direct attached disks, the number of slots limits the bus bandwidth capacity. However, for storage area network (SAN) systems, there is no physical limiting factor.
-
More expensive servers typically have larger and faster buses. There is often no way to increase the capacity of the buses’ bandwidth without replacing the servers. However, the largest servers are more configurable. Consult with server providers for specifications.
Disk and SAN interfaces
The interfaces you use in your system can affect reliability and performance. Larger drives, all else being equal, increase mean seek time. Use the information in the following table to inform your choice of interface.
|
Interface
|
Benefits
|
Disadvantages
|
Notes
|
|---|
|
Small Computer System Interface (SCSI)
|
Supports forcing data to be written to disk, improving recoverability.
SCSI with Tagged Command Queueing (TCQ) supports multiple I/O requests.
Supports hot-swapping.
SCSI can have up to 15 drives per channel.
Less restrictive on physical cable length.
|
|
Overloading the channels increases the chance of reaching the transfer rate limit.
|
|
Integrated Device Electronics (IDE)
|
Supports hot-swapping.
IDE has high transfer rates only if there is one drive attached per channel.
Typically greater capacity than SCSI.
Typicallly cheaper per GB than SCSI drives.
|
Can only handle one outstanding I/O request per channel.
|
|
|
Serial Advanced Technology Attachment (SATA)
|
SCSI with TCQ supports multiple I/O requests.
Supports hot-swapping.
Most are explicitly designed to support only one drive per channel; however, multiple SATA channels of 2 to 12+ on interface cards are also available.
Typically greater capacity than SCSI.
Typically cheaper per GB than SCSI drives.
|
|
|
|
Serial-attached SCSI (SAS)
|
Very fast.
Supports SCSI protocol.
Allows for a larger number of disks than SCSI.
|
|
Applicable to Direct-attached Storage (DAS) only.
Replacement technology for parallel SCSI.
Backward compatible with SATA drives.
|
Disk topology
The disk topology that you use in your system can affect reliability and performance.
You should minimize latency on the I/O subsystem that serves the server running SQL Server 2005. Slow response from the I/O subsystem cannot be compensated for by adding other types of resources (for example, CPU or memory), but can influence and cause issues throughout the farm.
Use the information in the following table to inform your choice of topology.
|
Topology
|
Benefits
|
Disadvantages
|
Notes
|
|---|
|
SAN
|
Can serve multiple servers.
No limitations on the number of disks that can be accessible.
Easier to install additional servers. Easier to manage many servers.
Easier to reallocate disk storage between servers.
Maintenance costs tend to be lower than Direct-attached Storage (DAS).
|
|
|
|
DAS
|
Greater maximum bandwidth.
Easier to manage for a smaller number of servers.
Initial overhead costs are lower than SAN.
|
Deployed per server.
The number of disks is limited by the number of slots in the server and the type of interface used.
|
Consider DAS if you are experiencing bottlenecked workloads.
When the limit on the number of DAS for a particular server is reached, you must deploy an additional server running SQL Server 2005.
|
|
Network-attached storage (NAS)
|
|
I/O response time required for SQL Server 2005 cannot be guaranteed nor maintained in a NAS environment.
iSCSI can only support light I/O traffic.
|
We do not recommend that you use NAS due to inability to ensure sufficient latency. If networked storage is required, use iSCSI on an iSCSI- dedicated gigabit Ethernet local area network (LAN), rather than NAS.
|