What Is The Recommended System Configuration
Let me first comment on the Microsoft recommendations for your system and what I have found to be a more realistic configuration for your server. Microsoft’s recommendations should be taken with a grain of salt and applied with care to each environment. Likewise, my recommendations—or anyone else’s, for that matter—should not be followed blindly. Recommendations are intended to give you an idea of where to start and should not be considered the end solution or setting for your system. The system requirements for installing Microsoft SQL Server are actually very easy to meet, often leading the administrator into a false sense of security with regard to how well the server will perform. See Table 1.1 for system requirements.
Table 1.1 Microsoft system requirements for an Intel-based system.
CPU 80486 RAM Minimum 16MB
Minimum 32MB required for replication Hard Disk Minimum 60MB
Additional 15MB for Microsoft SQL Server Books Online
File System FAT or NTFS OS Windows NT Server 3.51 or higher
The minimum CPU recommendation of an Intel-based 80486 is, in my opinion, a poor choice for a production machine unless you have very few users and are going to configure the server as a data server only. This type of machine should be considered a candidate for development environments or servers with only the lightest of loads in a production situation. Given the low cost of Pentium-based processors, I would recommend no less than a Pentium-class machine in a production environment. Taking into account the upgrade and support paths for these machines, even a Pentium Pro system is well within the reach of just about any enterprise. I am not suggesting you throw your current machine away or scrap your plans for a cheaper alternative. I know budgets and real-world requirements often do not allow a top-of-the-line machine for your project. The idea is to put your best-performing machine where it will do the most good. If you are using existing hardware for your data server, take a good inventory of what makes the target machine tick. Know the particulars of the disk access time and memory configuration. Benchmark the machines where possible to get an idea of how well it is performing against others in the same class. You might find a less-expensive alternative to the planned configuration. RAM is another highly performance-sensitive item that can make or break your server. The minimum recommendation of 16MB is for a bare-bones server that will perform on a limited basis as a data server. The 32MB reference for a replication server is more in line with a minimum memory configuration for a production server. In most production environments, server configurations range on average from 64MB RAM to 128MB RAM, with the occasional 256MB machine. On a high-volume multiuser system, servers with a greater amount of RAM would be much more efficient. Do not forget the option of moving to a multiple-processor machine. Some existing servers can be upgraded to multiple-processor configurations very reasonably. Many unique situations require individual configuration considerations, but adding RAM to a machine is the best first step in getting better overall performance. The best rule of thumb is to look at the system load and determine if you need more RAM in your system. If your server is starved for RAM, you will know very quickly, and increasing the RAM is relatively inexpensive. Hard drives are an often-overlooked performance bottleneck on database servers. Consider the performance of your disk controller and disk access times to make sure you have not slowed your fast machine to a crawl with an older disk thrown in a new box. The axiom that you are only as fast as your slowest link really applies here. I have seen administrators spend extraordinary amounts of time troubleshooting performance issues on data servers with older disks or 16-bit network interface cards. Be sure to look at all the pieces. No piece in the chain of client-server communications should be overlooked.