Review our system requirements before purchasing new hardware and installing or upgrading third-party software.
Server Hardware Considerations:
Blackbaud does not make specific recommendations regarding hardware, but as a reference, we do offer System Requirements on our web site. Servers should be considered an investment in reliability, scalability, and performance. Spending more money on a server now will save more money over the life cycle of the server. The larger the number of users that will be using a server, the more impact the investment will have and the more money will be saved in the long run.
Decisions regarding any hardware purchase should be influenced by the needs of the users. For example, very few people would buy a three-inch black and white TV for the purpose of entertaining friends, and even fewer would buy a laptop to act as a database server.
When making purchasing decisions regarding for a new server, four interrelated items should be considered:
Each component is equally important, and each one directly influences the efficiency of the other three. One weak link in this hardware chain can adversely affect the overall performance of the server and its users.
The fastest processor in the world can only do one thing at a time. It may appear that a single-processor server is multitasking, but it is actually processing one request and then the next. This linear process is not evident until the server receives a large task, perhaps a large request for filtered and/or summarized data. When large SQL statements are sent to the processor, it may spike to 100% utilization until the process is complete. This maximum usage is not necessarily a bad thing; the processor is simply doing what you asked it to do.
If the processor is underpowered or if the server needs additional processors, two primary symptoms will occur:
- Users cannot log in when the server's processor is at 100%
- The server's System Processor Queue Length is greater than or equal to 2 [System Processor Queue Length can be monitored via Microsoft's Performance Monitor]
If a server has more than one power user, or if it is running a mission-critical application, the server should have a minimum of two processors. The second processor will pay for itself by limiting the impact that power users have on the system.
Random Access Memory [RAM] is the server's short-term memory, i.e. its immediate workspace. RAM can be accessed much more quickly than the server's hard drive and plays an integral role in server performance. More RAM means faster data access. If a server does not have enough RAM, information will be written to the hard drive [virtual memory] and retrieved later for utilization. Instead of knowing an answer off the top of its head [RAM], it has to read through its notes [hard drive]. The extra steps of writing to a hard drive and later retrieving the written information greatly impair the server's performance. In short, never skimp on RAM.
Hard disks store physical data on magnetic media. The faster a Server can retrieve data from its hard drive, the faster the processes on the server will run. The importance of having high performance hard drives and controllers grows exponentially with the growth of the databases that reside on the hard drive and the number of requests made to the database. Older hard drives spin at 7200-RPM and have a full rotation time of 8.2 milliseconds (ms), which means the hard disks make one full revolution every 8.2ms and have an average seek time of approximately 4.15ms or .004 seconds. The newer 15000-RPM SCSI drives make one full revolution every 4ms and have an average seek time of 2ms.
The network interface cards, cabling, hubs, switches, and routers used in a network should not be overlooked when considering how to improve performance. Anyone that has used a dial-up modem knows the frustration that can stem from limited bandwidth. Multiple users requesting data from the network [specifically the database server] will experience improved performance by having multiple 100baseTx connections, or higher, connected to the server in a fully switched network. The number of users accessing a database concurrently determines the amount of bandwidth needed.
Note: Some of the hardware noted above may be overkill in certain situations, but the cost and time spent on implementing it will reduce the cost and time spent on troubleshooting inadequate hardware. It will also enhance user experience and increase user performance. Hardware that exceeds your current needs will give the hardware a longer life, which, in turn, increasing the hardware's ROI (Return On Investment).